Elasticsearch Java API 配置测试

Elasticsearch1.X,2.X,5.X随着版本的迭代,除了系统升级,Java API也做了相对较大的调整,也就是说,1.X的API在2.X以及5.X乃至未来6.X版本都不是通用的。

本例子使用的版本是5.6.5

一. 首先添加maven依赖

        <dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.6.5</version>
</dependency>

二。连接方式

Settings settings = Settings.builder().put("cluster.name", "my-application").build();  //设置集群名称
TransportClient client = new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("10.10.10.5"), 9300));

输客户端自带一个集群嗅探特性,可以动态地添加新主机并删除旧主机,当启用这个特性时,传输客户端将连接到其内部节点列表中的节点

嗅探器开启方式:
Settings settings = Settings.builder() .put("client.transport.sniff", true).build();
TransportClient client = new PreBuiltTransportClient(settings);

其他transport client的设置包括:
client.transport.ignore_cluster_name :设置为true 可以忽略节点连接时对集群名字的校验
client.transport.ping_timeout :设置一个节点在得到response时的等待时间,默认5秒
client.transport.nodes_sampler_interval:多久进行获取/ping 列出的节点并且连接,默认5秒

三。查看集群信息

        List<DiscoveryNode> nodes = client.connectedNodes();
for (DiscoveryNode node : nodes) {
System.out.println(node.getHostAddress());
System.out.println(node.getName());
System.out.println(node.getVersion());
}
上一篇:openstack ocata版本简化安装


下一篇:web前端基础之SCC(定位-z-index模态框)