- 配置pom.xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch -->
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.1.1</version>
</dependency>
配置been
package com.elastic.search.client; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.impl.client.BasicCredentialsProvider; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import sun.java2d.DisposerRecord; import java.io.IOException; /** * @author huangdeyao * @date 2019/6/10 11:13 */ @Component public class ElasticsearchClient implements DisposerRecord { private RestHighLevelClient client; private final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); @Bean public RestHighLevelClient getRestHighLevelClient() { credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "123456")); client = new RestHighLevelClient( RestClient.builder( new HttpHost("192.168.177.128", 9200, "http")) .setHttpClientConfigCallback(httpAsyncClientBuilder -> { //这里可以设置一些参数,比如cookie存储、代理等等 httpAsyncClientBuilder.disableAuthCaching(); return httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider); }) ); return client; } @Override public void dispose() { if (client != null) { try { client.close(); } catch (IOException e) { e.printStackTrace(); } } } }
添加index
Map<String, Object> jsonMap = new HashMap<>(); jsonMap.put("user", "kimchy"); jsonMap.put("postDate", new Date()); jsonMap.put("message", "trying out Elasticsearch"); IndexRequest indexRequest = new IndexRequest("posts").id("1").source(jsonMap); try { IndexResponse response = restHighLevelClient.index(indexRequest, RequestOptions.DEFAULT); logger.info(response.toString()); } catch(ElasticsearchException e) { if (e.status() == RestStatus.CONFLICT) { } }
查询
GetRequest getRequest = new GetRequest("index", "1"); GetResponse response = restHighLevelClient.get(getRequest, RequestOptions.DEFAULT); logger.info(response.toString());
中间遇到的错误
[org.elasticsearch.action.index.IndexRequest.ifSeqNo
](https://www.yrclubs.com/details?id=89)