总结一下:使用java客户端 连接 ES,获取client
package com.testt.util; import java.util.ArrayList; import java.util.List; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequest; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.settings.ImmutableSettings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress; /** * ES 测试工具类 * @author zhangqingzhou * */ public abstract class EsClientUtil{ /** * 是否为调试 */ private static boolean Debug = false; public Object execute(Object ... obj){ @SuppressWarnings("rawtypes") List rsList = new ArrayList<>(); ESClient esclient = null; try { esclient = (!Debug)?getDefaultDelegateClient():buildClient(); if(null == esclient) return rsList; return executeIt(esclient, obj); } catch (Exception e) { }finally{ ESClientFactory.me().closeClient(esclient); } return rsList; } /** * 接口 的 执行方法,需要重写 * @param esclient * @param obj * @return */ protected abstract Object executeIt(ESClient esclient,Object ... obj); public static ESClient buildClient(){ Settings settings = ImmutableSettings.settingsBuilder() .put("client.transport.sniff", true).put("cluster.name", "集群名称").build(); @SuppressWarnings("resource") TransportClient client = new TransportClient(settings) .addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9300)); ESClient delegateClient = new ESClient(client, Type.local); return delegateClient; } public static ESClient getDefaultDelegateClient(){ ESClient cupidClient = null; try { // 获取系统 ES集群client 已经封装好的 cupidClient = ESClientFactory.me().getDefaultDelegateClient(); } catch (Exception e) { } return (!Debug)?cupidClient :buildClient(); } /** * 判断 ES集群中 是否含有 此索引名的索引 * @param indexName * @return */ public static boolean isExistIndex(String indexName){ boolean flag = false; ESClient client =getDefaultDelegateClient(); try { if(client != null){ flag =client.admin().indices().exists( new IndicesExistsRequest() .indices(new String[]{indexName})) .actionGet().isExists(); } } catch (ElasticsearchException e) { // TODO Auto-generated catch block e.printStackTrace(); } return flag; } }