gradle:
dependencies {
compile('org.elasticsearch.client:transport:5.2.2')
compile('org.elasticsearch:elasticsearch:5.2.2')
compile('org.apache.logging.log4j:log4j-api:2.7')
compile('org.apache.logging.log4j:log4j-core:2.7')
}
官网maven repository缺少org.elasticsearch:elasticsearch:5.2.2
创建transport client:
// on startup
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));
// on shutdown
client.close();
“host1”和”host2”要写到系统hosts文件中,否则会报UnknownHostException异常,如果es集群有其他配置,需要在代码里注明:
Settings settings = Settings.builder()
.put("cluster.name", "myClusterName").build();
TransportClient client = new PreBuiltTransportClient(settings);
//Add transport addresses and do something with the client...
以上代码来自官网
如果要集成spring项目,需使用2.X版本的es,否则会提示版本不匹配。