Spring Boot链接Elasticsearch 7.3

简介: Spring Boot链接Elasticsearch 7.3

背景

在服务发展到一定阶段后,需要进行用户数据分析。在调研与设计用户行为分析系统的过程中需要从日志服务器Elasticsearch中解析用户行为日志。然后用日志记录用户的行为。在这个过程中发现对接Elasticsearch 7.3还是有一定的困难,所以记录下来并共享出来,为之后如果有遇到问题提供一种思路。

过程

使用Spring Boot最新代码以及spring-boot-starter-data-elasticsearch进行Elasticsearch的对接工作。在对接过程中一直在报:找不到可用的ES节点。所以,在调查中发现很多版本对应不上造成的问题。例如:使用Srping Boot的2.1.9.RELEASE版本,引入的spring-boot-starter-data-elasticsearch所附带的3.1.11.RELEASE的spring-data-elasticsearch包,而这个包应该是可以支持7.x的版本的。如下图所示:
版本对应关系

但是2.1.9的spring boot就是不能使用。使用的Spring Data Elasticsearch是3.1.11版本的,对于3.1.11这个版本支持到Elasticsearch协议的6.2.2的版本。而使用Elasticsearch 7.3的,支持的最低接口版本是6.8.0,所以,在2.1.19是不能对接Elasticsearch 7.3的。

查看原因应该是因为使用Elasticsearch Clients的6.8版本中有集群客户端(PreBuiltTransportClient)的调用,而在后续的版本中已经要删除这种方式了。所以,使用PreBuiltTransportClient就会造成问题。所以,升级Srping Boot到2.2.0版本应该不会有结果。不过还是升级到2.2.0试试。测试后是可以使用的。

结论

$\color{red}{如果需要使用Spring Boot链接Elasticsearch 7.3请使用2.2.0以上版本的Srping Boot}$。

参考

Spring Data Elasticsearch - Reference Documentation
Spring Data for Elasticsearch
Doc Elasticsearch Clients

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
存储 JSON Java
998 0
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
814 0
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
3303 17
Spring Boot 两种部署到服务器的方式
|
存储 Java API
在springboot中缩短一个url链接
URL缩短服务是现代应用中常见的需求,用于将长URL映射为简短的唯一代码,便于分享。该服务具备多种功能,如自动过期、访问统计、防止重复及安全机制。通过Spring Boot构建RESTful API,使用H2数据库存储数据,Java UUID生成短码,并通过定时任务清理过期URL。用户可通过API提交长URL获取短链接,查询访问量,系统会自动重定向并记录访问次数。每天午夜自动清理过期URL,确保数据整洁。此项目结构清晰,涵盖实体类、Repository、Service和Controller等核心组件,适合快速开发和扩展。
446 2
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
1362 2
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
1655 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
Web App开发 JavaScript Java
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
这篇文章是关于如何使用Spring Boot整合Elasticsearch,并通过REST客户端操作Elasticsearch,实现一个简单的搜索前后端,以及如何爬取京东数据到Elasticsearch的案例教程。
1083 0
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
|
JSON Java 网络架构
elasticsearch学习四:使用springboot整合 rest 进行搭建elasticsearch服务
这篇文章介绍了如何使用Spring Boot整合REST方式来搭建和操作Elasticsearch服务。
558 4
elasticsearch学习四:使用springboot整合 rest 进行搭建elasticsearch服务
|
自然语言处理 Java Maven
elasticsearch学习二:使用springboot整合TransportClient 进行搭建elasticsearch服务
这篇博客介绍了如何使用Spring Boot整合TransportClient搭建Elasticsearch服务,包括项目创建、Maven依赖、业务代码和测试示例。
875 0
elasticsearch学习二:使用springboot整合TransportClient 进行搭建elasticsearch服务