ElasticSearch,注入RestHighLevelClient为空(null)的解决

引入依赖:

    <properties>
        <java.version>1.8</java.version>
        <elasticsearch.version>7.4.2</elasticsearch.version>
    </properties>

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

重点在:

<elasticsearch.version>7.4.2</elasticsearch.version>

保证版本一致,问题原因下面会说

配置类:

@Configuration
public class MyElasticsearchConfig {

    @Bean
    public RestHighLevelClient esRestClient() {
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost("192.168.200.134", 9200, "http")));
        //没有集群不用指定多个
//                        new HttpHost("localhost", 9201, "http"))
        return client;
    }
}

测试:

    @Autowired
    private RestHighLevelClient client;

    @Test
    public void contextLoads() {
        System.out.println(client);
    }

问题:

 下面行配置就是为了控制版本一致

<elasticsearch.version>7.4.2</elasticsearch.version>

重新测试就可以了

猜你喜欢

转载自blog.csdn.net/m0_60817176/article/details/130796686
今日推荐