3.1.9的spring data elasticsearch 对应elasticsearch-rest-high-level-client
时间: 2025-07-20 12:47:03 浏览: 1
Spring Data Elasticsearch 3.1.9 版本是基于 Spring Data 的一个模块,用于简化与 Elasticsearch 集成的操作。在这个版本中,默认使用的客户端是 `elasticsearch-rest-high-level-client`。
以下是关于它们之间的一些关键点:
### 主要特点
1. **默认使用 REST High Level Client**:
- 自从 Spring Data Elasticsearch 3.x 开始,官方推荐并集成的是 `rest-high-level-client` 而不是旧版的 Transport Client。
- 这一选择是因为 `rest-high-level-client` 更加现代、高效,并且支持 HTTP 协议连接到集群。
2. **Elasticsearch 版本兼容性**:
- Spring Data Elasticsearch 3.1.9 默认适配的是 Elasticsearch 7.x 系列版本。
- 因此,在项目依赖配置时需要明确指定对应的 ElasticSearch 和其高阶 Rest 客户端库版本(如 elasticsearch-rest-high-level-client),通常建议选用匹配好的 BOM (Bill of Materials) 来管理一致性的版本。
3. **核心功能支持**:
- 提供了 Repository 接口以便于声明式查询操作数据存储;
- 支持复杂搜索条件构建以及聚合分析等高级特性。
4. **迁移注意事项**:
如果是从早期采用 transport client 的应用迁移到 spring-data-elasticsearch,则需要注意 API 差异及索引映射定义的变化。
5. 示例代码片段展示如何设置 repository 并完成基本 CRUD 操作即可体现该框架易用之处。
```java
// 引入必要的 Maven 或 Gradle 依赖...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>对应版本号例如 2.6.x </version> // 注意这里的版本也要保持同步
</dependency>
// 创建实体类并标注 @Document 注解指向 ES 中 index name
@Repository
public interface ArticleRepository extends ElasticsearchRepository<Article, String> {
}
@Service
public class ArticleService {
private final ArticleRepository articleRepository;
public ArticleService(ArticleRepository articleRepository){
this.articleRepository = articleRepository;
}
public Iterable<Article> findAllArticles(){
return articleRepository.findAll();
}
}
```
上述简单例子展示了利用 SD Elastcisearch 实现文章列表获取的过程。
阅读全文
相关推荐












