java连接es配置(RestHighLevelClient)

 

EsConfiguration.java

package org.hxl.es;

import java.io.IOException;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;

public class EsConfiguration {
    public static void main(String[] args)  {
        BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(
                AuthScope.ANY,
                new UsernamePasswordCredentials("elastic", "elastic"));

        RestClientBuilder builder = RestClient.builder((new HttpHost("192.168.1.134", 19200,"http")));
        builder.setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider)
                .setMaxConnTotal(100)
                .setMaxConnPerRoute(20)
                .setKeepAliveStrategy((response, context) -> 60000));
        builder.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder
                .setConnectTimeout(5000) // 连接超时时间
                .setSocketTimeout(60000));

        RestHighLevelClient esClient = new RestHighLevelClient(builder);


        try {
            if (esClient.ping()){
                System.out.println("Connect ES ok!");
            }
            else {
                System.out.println("Connect ES Failed!");
            }
        } catch (IOException e) {
            System.out.println("Connect ES Failed!");
        }finally {
            try {
                esClient.close();
            } catch (IOException e){
                System.out.println("Connect ES Failed!");
            }
        }
    }

}

 

posted @ 2025-06-23 10:06  slnngk  阅读(68)  评论(0)    收藏  举报