/ ** * Gets ES connection class * * @author Chen Kang * @description * @Create 2019/08/15 * * / @Component ( "ElasticsearchRestClient" ) @Configuration public class ElasticsearchRestClient { Private static String Host = "Your es address " ; Private static int Port = 9200 ; Private static String userName =" your account " ; Private static String passWord =" your password " ; public static RestClient getRestClient () { //初始化ES操作客户端 final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, passWord)); //es账号密码 esClient = new RestHighLevelClient( RestClient.builder( new HttpHost(host, port) ).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() { public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { httpClientBuilder.disableAuthCaching(); return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }) ); return esClient.getLowLevelClient(); } }
ES version I am using all pom.xml 6.3.2 is used ( note:! Be sure to use the same version of your ES version )
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <exclusions> <exclusion> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> </exclusion> </exclusions> <version>6.3.2</version> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>6.3.2</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>6.3.2</version> </dependency>