首先参考: https://blog.csdn.net/qq_27950699/article/details/99354774搭建Client
首先排除内置包(有可能不需要,可自行测试):
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.3.0</version>
<exclusions>
<exclusion>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</exclusion>
<exclusion>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.3.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.3.0</version>
</dependency>
开始集成es:index:索引名称
EsConfig esConfig = new EsConfig(); RestHighLevelClient client = esConfig.client(); CreateIndexRequest request = new CreateIndexRequest(index); request.settings(Settings.builder() .put("index.number_of_shards",10) //分片数 .put("index.number_of_replicas", 1));//副本数 request.alias(new Alias(index+"alias"));//设置别名 request.setTimeout(TimeValue.timeValueMinutes(2));//设置创建索引超时2分钟 // 同步请求(亲测可以) try { CreateIndexResponse createIndexResponse = client.indices().create(request,RequestOptions.DEFAULT); // 处理响应 boolean acknowledged = createIndexResponse.isAcknowledged(); boolean shardsAcknowledged = createIndexResponse.isShardsAcknowledged(); System.out.println(acknowledged+","+shardsAcknowledged); client.close(); } catch (IOException e) { logger.error("索引{}创建异常:"+e.getMessage(),index); return false; } //异步请求 (自己测试) /** ActionListener<CreateIndexResponse> listener = new ActionListener<CreateIndexResponse>() { @Override public void onResponse(CreateIndexResponse createIndexResponse) { boolean acknowledged = createIndexResponse.isAcknowledged(); boolean shardsAcknowledged = createIndexResponse.isShardsAcknowledged(); } @Override public void onFailure(Exception e) { e.printStackTrace(); } }; client.indices().createAsync(request, listener);*/ return true; 不管用什么方法,都不要忘记client.close();