目录

ES-7.16-Java-API-Client-新特性RestClientBuilder连接ES集群

ES 7.16 Java API Client 新特性(RestClientBuilder连接ES集群)

截至7.15前版本的Java api官网已废弃。

1、添加依赖

    <dependency>
      <groupId>co.elastic.clients</groupId>
      <artifactId>elasticsearch-java</artifactId>
      <version>7.16.2</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.12.3</version>
    </dependency>

2、连接集群

    String nodes = "192.168.1.96:9200,192.168.1.97:9200,192.168.1.98:9200";

    HttpHost[] httpHosts = Arrays.stream(nodes.split(",")).map(x -> {
                         String[] hostInfo = x.split(":");
                       return new HttpHost(hostInfo[0], Integer.parseInt(hostInfo[1]));
                   }).toArray(HttpHost[]::new);

    RestClientBuilder builder = RestClient.builder(httpHosts)

    RestClient restClient = builder.build();

    ElasticsearchTransport transport = new RestClientTransport(
    restClient, new JacksonJsonpMapper());

    ElasticsearchClient client = new ElasticsearchClient(transport);