es7.x的客户端连接api以及Respository与template的区别

发布于:2025-08-16 ⋅ 阅读:(15) ⋅ 点赞:(0)

目录

一  es7.x的连接

1.1 版本说明

1.2 es7.17.x以下

1.2 es7.17.x以上

1.2.1 方式1 使用 Spring Data Elasticsearch(官方集成)

1.2.2 手动配置 Elasticsearch REST Client

二   Repository与elasticsearchTemplate的区别

2.1区别

2.2 相同点

2.3 应用场景

2.4 版本影响

三  springdata-es中日期格式

3.1 日期格式

3.2 其他格式的日期


一  es7.x的连接

1.1 版本说明

  • Spring Boot 2.7.x + ES 7.17.x:使用 spring-data-elasticsearch:4.4.x

  • Spring Boot 3.x + ES 8.x:API 有重大变化,需使用新的 @Document 和日期处理方式

1.2 es7.17.x以下

1.版本说明

2.springdata-es版本

3.配置

4.客户端

5.实体类

6.repository

7.测试应用

1.3 es7.17.x以上

1.3.1 方式1 使用 Spring Data Elasticsearch(官方集成)

1.pom中添加依赖

2. 配置连接参数:重大改变,之前es版本的配置的端口都是9300

3.创建实体类

4.定义repository

5.注入使用 Repository

1.3.2 手动配置 Elasticsearch REST Client

适用场景:需要直接操作 ES 原生 API、自定义高级配置
依赖elasticsearch-rest-high-level-client(已废弃)或 elasticsearch-java(官方推荐)

1.添加依赖

2.配置配置客户端 Bean

3.使用客户端操作 ES

总结:

二   Repository与elasticsearchTemplate的区别

2.1区别

在 Spring Data Elasticsearch 中,Repository 和 ElasticsearchTemplate 是两个核心组件

2.2 相同点

1.Repository 底层依赖 Template

实际上,Repository 的默认实现(如 SimpleElasticsearchRepository)内部使用了 ElasticsearchTemplate 执行操作。
2.关系链
Repository 接口 → ElasticsearchRepository → SimpleElasticsearchRepository → 调用 → ElasticsearchTemplate

2.3 应用场景

2.4 版本影响

  • Spring Data Elasticsearch 4.x+
    ElasticsearchTemplate 已标记为过时,推荐使用 ElasticsearchOperations 接口(实现类为 ElasticsearchRestTemplate)。

  • Repository 增强
    新版本支持更灵活的 @Query 注解和自定义 Repository 实现。

三  springdata-es中日期格式

3.1 日期格式

在 Spring Data Elasticsearch 中,DateFormat.date_hour_minute_second 定义的日期格式为:

yyyy-MM-dd'T'HH:mm:ss

如下:

3.2 其他格式的日期


网站公告

今日签到

点亮在社区的每一天
去签到