Spring Boot 2.7.6中ElasticsearchAutoConfiguration缺失,求替代方案
org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration在Spring Boot 2.7.6版本中确实已被移除,它的配置职责被拆分到多个更细分的自动配置类中,对应不同类型的Elasticsearch客户端,具体如下:
基础Rest客户端配置:
org.springframework.boot.autoconfigure.elasticsearch.RestClientAutoConfiguration
负责Elasticsearch基础Rest Client的自动配置,涵盖原类中基础连接、端点设置等逻辑。高级Rest客户端配置:
org.springframework.boot.autoconfigure.elasticsearch.RestHighLevelClientAutoConfiguration
若项目使用Elasticsearch High Level Rest Client,这个类会处理该客户端的自动配置,包括连接池管理、认证等细节。Reactive场景客户端配置:
org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRestClientAutoConfiguration
针对Reactive编程模型的Elasticsearch客户端提供自动配置支持。
这些拆分后的配置类会根据项目依赖自动生效,比如引入spring-boot-starter-data-elasticsearch依赖时,相关配置类会自动触发配置逻辑。原有大部分以spring.elasticsearch.rest.*为前缀的配置参数在2.7.6版本中仍可正常使用,无需大幅调整配置文件。
如果之前有自定义Elasticsearch配置的需求,只需根据项目使用的客户端类型,调整对应的配置类依赖,或者直接通过@Configuration注解编写自定义配置即可。
内容的提问来源于stack exchange,提问作者Sumit Negi

