Spring Boot 集成ElasticSearch

1.添加maven依赖

以6.8.8版本为例

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

2.添加配置文件

@Configuration
public class ElasticSearchConfigurer {

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

    @Autowired
    private RestClientBuilder restClientBuilder;

    @Bean
    public RestClientBuilder restClientBuilder() {

        return RestClient.builder(getHost(host));
    }


    @Bean
    public RestHighLevelClient restHighLevelClient() {

        return new RestHighLevelClient(restClientBuilder);
    }


    private HttpHost[] getHost(String s) {
        String[] addresses = s.split(",");
        HttpHost[] result = new HttpHost[addresses.length];
        for (int i = 0; i < addresses.length; i++) {
            String[] address = addresses[i].split(":");
            String ip = address[0];
            int port = Integer.parseInt(address[1]);
            result[i] = new HttpHost(ip, port, "http");
        }

        return result;
    }

3.在yml中添加ES地址

elasticsearch:
  host: 192.168.3.207:9200

如果有多个以,分隔

elasticsearch:
  host: 192.168.3.207:9200,192.168.3.208:9200

4.使用

在需要使用地方注入RestHighLevelClient 即可

 @Autowired
 private RestHighLevelClient restHighLevelClient;

至此ElasticSearch集成完毕。

猜你喜欢

转载自www.cnblogs.com/richardz/p/12626401.html