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.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ElasticSearchClintConfig {
private static String host = "es-bpswtnim.public.tencentelasticsearch.com";
private static int port = 9200;
private static String scheme = "https";
private static String userName = "elastic";
private static String passWord = "zk2000208.";
@Bean
public RestHighLevelClient restHighLevelClient()
{
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(userName, passWord)); //es账号密码
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost(host, port,scheme)
).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
httpClientBuilder.disableAuthCaching();
return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
}
})
);
return client;
}}
我使用的ES版本是6.3.2的所有使用的pom.xml是(注意:使用的版本一定要与你的ES版本相同!)
org.elasticsearch.client
elasticsearch-rest-high-level-client
org.elasticsearch
elasticsearch
6.3.2
org.elasticsearch
elasticsearch
6.3.2
org.elasticsearch.client
elasticsearch-rest-client
6.3.2