目录
[一 es7.x的连接](#一 es7.x的连接)
[1.1 版本说明](#1.1 版本说明)
[1.2 es7.17.x以下](#1.2 es7.17.x以下)
[1.2 es7.17.x以上](#1.2 es7.17.x以上)
[1.2.1 方式1 使用 Spring Data Elasticsearch(官方集成)](#1.2.1 方式1 使用 Spring Data Elasticsearch(官方集成))
[1.2.2 手动配置 Elasticsearch REST Client](#1.2.2 手动配置 Elasticsearch REST Client)
[二 Repository与elasticsearchTemplate的区别](#二 Repository与elasticsearchTemplate的区别)
[2.2 相同点](#2.2 相同点)
[2.3 应用场景](#2.3 应用场景)
[2.4 版本影响](#2.4 版本影响)
[三 springdata-es中日期格式](#三 springdata-es中日期格式)
[3.1 日期格式](#3.1 日期格式)
[3.2 其他格式的日期](#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中添加依赖

- 配置连接参数:重大改变,之前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 其他格式的日期
