依赖
<!-- elasticsearch-rest-client -->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.13.3</version>
</dependency>
<!-- elasticsearch-rest-high-level-client -->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.13.3</version>
</dependency>
配置
@Configuration
public class ESConfig {
@Bean
public RestHighLevelClient getRestHighLevelClient(){
HttpHost http1 = new HttpHost("127.0.0.1", 9200, "http");
HttpHost http2 = new HttpHost("127.0.0.1", 9201, "http");
RestClientBuilder restClientBuilder = RestClient.builder(http1, http2);
RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder);
return restHighLevelClient;
}
}
@Autowired
private RestHighLevelClient restHighLevelClient;
批量增/删/改
public void bulkQuery() throws IOException {
IndexRequest indexRequest2 = new IndexRequest("myindex");
indexRequest2.id("2");
IndexRequest indexRequest4 = new IndexRequest("myindex");
indexRequest4.id("4");
BulkRequest bulkRequest = new BulkRequest();
bulkRequest.add(indexRequest2).add(indexRequest4);
BulkResponse bulkResponse = restHighLevelClient.bulk(bulkRequest, RequestOptions.DEFAULT);
for (BulkItemResponse bulkItemResponse : bulkResponse) {
DocWriteResponse itemResponse = bulkItemResponse.getResponse();
switch (bulkItemResponse.getOpType()) {
case INDEX:
case CREATE:
IndexResponse indexResponse = (IndexResponse) itemResponse;
break;
case UPDATE:
UpdateResponse updateResponse = (UpdateResponse) itemResponse;
break;
case DELETE:
DeleteResponse deleteResponse = (DeleteResponse) itemResponse;
}
}
}