ES版本:2.3.1
JDK:1.8
所需要的jar包请在ES安装路径下的jars包中获得,不要使用其他的jar否则容易出现版本问题!
实例名称需要与集群相匹配,查看方法:打开http://masterIP:8200,相关配置信息在浏览器显示的json文件中。
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* Created by LCY on 4/8/2018.
* ES 连接
*/
public class ESLink {
public static final String CLUSTER_NAME = "es"; //实例名称
private static final String IP = "192.168.31.216";
private static final int PORT = 8300; //端口
//1.设置集群名称:默认是elasticsearch,并设置client.transport.sniff为true,使客户端嗅探整个集群状态,把集群中的其他机器IP加入到客户端中
private static Settings settings = Settings
.settingsBuilder()
.put("cluster.name",CLUSTER_NAME)
.put("client.transport.sniff", true)
.build();
//创建私有对象
private static TransportClient client;
//反射机制创建单例的TransportClient对象
static {
try {
client = TransportClient.builder().settings(settings).build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(IP), PORT));
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
//取得实例
public static synchronized TransportClient getTransportClient(){
return client;
}
}