Elasticsearch和SpringBoot版本问题

Error creating bean with name 'elasticsearchClient' defined in class path resource 
[org/springframework/boot/autoconfigure/data/elasticsearch/ElasticsearchAutoConfiguration.class]: 
Bean instantiation via factory method failed; nested exception is    
org.springframework.beans.BeanInstantiationException: Failed to instantiate 
[org.elasticsearch.client.Client]: Factory method 'elasticsearchClient' threw exception; nested 
exception is java.lang.NoSuchMethodError: 
org.elasticsearch.common.settings.Settings.settingsBuilder()Lorg/elasticsearch/common/settings/Set
tings$Builder;
Failed to instantiate [org.elasticsearch.client.Client]: Factory method 'elasticsearchClient' 
threw exception; nested exception is java.lang.NoSuchMethodError: 
org.elasticsearch.common.settings.Settings.settingsBuilder()Lorg/elasticsearch/common/settings/Se
ttings$Builder;
org.elasticsearch.common.settings.Settings.settingsBuilder()Lorg/elasticsearch/common
/settings/Settings$Builder
		<!--springboot版本1.5.8-->

		<dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.5.0</version>
        </dependency>

		<dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.5.0</version>
        </dependency>

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>

		<dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.5.0</version>
        </dependency>

导致的原因

应该是SpringBoot版本太老问题

解决

去除掉elasticsearch-rest-high-level-client依赖,然后直接采用sdk

public class ElasticsearchConfig {

    private static final Logger logger = LoggerFactory.getLogger(ElasticsearchConfig.class);

    @Value("${elasticsearch.hostName}")
    private String hostName ;

    @Value("${elasticsearch.port}")
    private Integer port ;

    @Value("${elasticsearch.scheme}")
    private String scheme ;

    @Value("${elasticsearch.indexGroup}")
    private String indexGroup ;

    @Bean
    public RestHighLevelClient restHighLevelClient(){
        logger.info("{elasticsearch restHighLevelClient连接elsticsearch \n " +
                "hostName: "+this.hostName + "\n " +
                "port: "+this.port+ "\n " +
                "scheme: "+this.scheme+ "\n " +
                "indexGroup: "+this.indexGroup+ "\n " +
                "}"
        );
        return new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost(hostName , port , scheme)
                )
        );
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值