在使用springboot集成es时,我使用的elasticsearch-rest-high-level-client客户端。springboot版本是2.3.9RELEASE,本来导入elasticsearch-rest-high-level-client不需要引入版本号,使用springboot定义好的版本号即可。
但是,我的es是6.5.4,所以我的es包也要指定为6.5.4,但是在测试时出现了问题,他无法连接到es数据库或者无法查询到数据。
在查看官方文档时,才想起内部依赖可能有问题:
查看内部依赖,发现受springboot影响,elasticsearch-rest-high-level-clien依赖虽然是对的,但是内部两个包的依赖还是springboot指定的版本。
在手动引入这两个依赖后,将这三个依赖都指定为和es服务版本号一致的版本号,重新测试,功能正常。
其实是比较小的问题,以前使用却没有注意,所以记一下。
1.elasticsearch-rest-high-level-clien、org.elasticsearch.client:elasticsearch-rest-client
org.elasticsearch:elasticsearch三个依赖都需要,且版本号要一直;
2.es相关依赖的版本号要和es服务的版本号一直。
3.在按照网上的教程使用时,很多帖子没有遇到版本和内部依赖的问题,可能是大家在开始集成确定版本时依赖和服务版本都已经提前定义好了,所以不存在这个问题,而我遇到的是后期项目集成不一致版本的es服务,所以才有这个问题。