2016-08-10 31 views

回答

2

是的,你可以发现,在official documentation for 5.0以及

Settings settings = Settings.builder() 
    .put("cluster.name", "ElasticSearchClusterName"); 

TransportClient client = new PreBuiltTransportClient(settings) 
     .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300)) 
     .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300)); 

这是一文不值的PreBuiltTransportClientpre-configured具有以下模块:

  • Netty3
  • Netty4
  • 重新编号
  • 过滤器
  • 胡子

另外,还要确保你对transport神器的依赖:

<dependency> 
    <groupId>org.elasticsearch.client</groupId> 
    <artifactId>transport</artifactId> 
    <version>5.0.0-beta1</version> 
</dependency> 
+0

这是什么运气? – Val

+0

你在哪里指定集群? – tgkprog

+1

@tgkprog我已更新我的回答 – Val

0

首先下载相应的jar文件,并保持在lib文件夹中,并将它们添加到构建路径。 您可以按照下面的代码进行配置:

Settings settings = Settings.builder() 
    .put("cluster.name", "ElasticSearchClusterName") 
    //.put("client.transport.sniff", true) 
    //.put("shield.user", elasticUserName+":"+elasticPassword) 
    .build(); 

TransportClient client = new PreBuiltTransportClient(settings) 
            .addTransportAddress(new InetSocketTransportAddress(elasticHostOne, elasticTransportPort)) 
            .addTransportAddress(new InetSocketTransportAddress(elasticHostTwo, elasticTransportPort)) 
            .addTransportAddress(new InetSocketTransportAddress(elasticHostThree, elasticTransportPort));