当前位置: 首页 > news >正文

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

目录

一  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 其他格式的日期

http://www.lryc.cn/news/621569.html

相关文章:

  • Notepad++插件开发实战指南
  • 【详细操作指南】如何将 Moodle 与编辑器连接,以修改文档、检查和批改作业等
  • HTTP/2新型漏洞“MadeYouReset“曝光:可发动大规模DoS攻击
  • HTTP 请求方法:GET 与 POST
  • STM32L051 RTC闹钟配置详解
  • 《JMeter核心技术、性能测试与性能分析》 教学大纲及标准
  • 硬核实用!R+贝叶斯解决真实问题:参数估计(含可靠性分析) + 回归建模(含贝叶斯因子比较) + 生产级计算实践 赠「常见报错解决方案」秘籍!
  • 电商架构测试体系:ZKmall开源商城筑牢高并发场景下的系统防线
  • Jmeter自定义脚本
  • Easy Rules 规则引擎详解
  • 【测试工具】JMeter基本使用及MySQL数据库压力测试
  • Stagehand深度解析:从开源自动化工具到企业级RPA平台的演进之路
  • 新手向:Python函数定义与参数传递(位置参数、关键字参数、默认参数)
  • Unity输入系统:旧版Input_System
  • 大气负氧离子自动监测站:解密空气的科技密码
  • SSL和TLS协议的消息认证码(MAC)
  • 【opencv-Python学习笔记(5):几何变换】
  • 《Effective Java》第1条:用静态工厂方法代替构造器
  • 【R语言】R 语言中 gsub 与正则表达式详解(含 POSIX 与 Perl 风格实例)
  • 【R语言】更换电脑后,如何在新设备上快速下载原来设备的 R 包?
  • 智能体开发实战:用Deepseek做一个生成思维导图的智能体
  • 2025高防IP vs 普通IP:本质差异与选型指南
  • 移动板房的网络化建设
  • StarRocks集群部署
  • 39 C++ STL模板库8-容器1-array
  • 常见IP模块的仲裁策略和实现
  • YOLO11分割模型使用rknn2量化部署
  • 网络安全蓝队常用工具全景与实战指南
  • 【DDIA】第二部分:分布式数据
  • 从零到一:发布你的第一个 npm 开源库(2025 终极指南)