springboot 、spring-data-elasticsearch、elasticserach的版本对应关系

  1. 由于工作需要,亲自试验了,elasticsearch 5.6.80, elasticsearch 6.4.2, elasticsearch 7.5.0, 三个版本的es,发现其中的差别还是很大的,比如 es5.6.80 还支持 一个index下建立多个type,而到6.4.2 以及7.5.0以后就不支持了,添加多type的时候会报错。
  2. 计划使用 springboot+spring-data-elasticsearch操作es,遍引入的以下的maven坐标:
	
		 
            org.springframework.boot
            spring-boot-starter-data-elasticsearch
        

这其中有个坑就是,如果你想升级单独升级pring-boot-starter-data-elasticsearch 的版本而不升级springboot的版本,启动的时候就会报错,建议还是按照官方的版本对应关系进行选择,避免不必要的麻烦:
springboot 、spring-data-elasticsearch、elasticserach的版本对应关系_第1张图片
官方参考链接;
https://docs.spring.io/spring-data/elasticsearch/docs/3.2.4.RELEASE/reference/html/#reference
3. spring -data-elasticsearch 不同的版本之间的api也有所不同,建议不要随意升级
4. 把springboot 从2.0.3 升级到2.2.0版本 会出现 循环依赖注入问题,比如 在a类中依赖了b类,然后在b类又依赖了a类,导致启动报错,原本在2.0.3版本的时候并没有出现问题,升级以后才出现这个问题,怀疑是springboot 2.2.0 对循环依赖做了一个不同的处理(还不是很确定),解决这个问题也很简单如下图在自注入注解的地方加上@Lazy注解即可:

public class A{
@Autowired
@Lazy
private B b;
...
}
public class B{
@Autowired
@Lazy
private A a;
...
}

ElasticSearch实战 之 es的安装和使用 https://blog.csdn.net/weter_drop/article/details/103990959

你可能感兴趣的:(springboot 、spring-data-elasticsearch、elasticserach的版本对应关系)