/** * 獲取ES連接類 * * @author 陳康 * @description * @create 2019/08/15 **/ @Component("ElasticsearchRestClient") @Configuration public class ElasticsearchRestClient { private static String host = "你的es地址"; private static int port = 9200; private static String userName = "你的賬號"; private static String 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版本是6.3.2的所有使用的pom.xml是(注意:使用的版本一定要與你的ES版本相同!)
<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>