ElasticSearch详解一之——client连接

来源:互联网 发布:matplotlib python 编辑:程序博客网 时间:2024/05/16 14:24

获得 elasticsearch 客户端很简单。最常见方式是通过︰创建节点,作为一个群集中的节点。从你的节点请求客户端。
另一种方式是通过创建连接到集群的 TransportClient。
这个在之前的文章写到到创建连接集群的TransportClient方法。
现在主要来说创建节点的方法:

创建节点最简单的方式
Node node = nodeBuilder().node();Client client = node.client();node.close();

当这个节点创建的时候它便会加入一个集群,我们可以来设置让它加入制定的集群,通过设置clusterName来设置

在项目中可以通过配置文件来设置进行加载

Node node = nodeBuilder).clusterName("clustername").node();Client client = node.client();

在创建这个节点的时候我们应该考虑这个节点是否要存储数据,很多时候我们可能只是通过这个节点去查询数据,这时候我们可以将node.date 设置成false,或者样node.clien设置成true来实现。

Node node = nodeBuilder().settings(ImmutableSettings.settingsBuilder().put("http.enabled", false)).client(true).node();Client client = node.client();

使用transportclient 进行连接的时候,可能会有双跳现象产生。
像这样加入:

Client client = new TransportClient()    .addTransportAddress(new InetSocketTransportAddress("host1", 9300))    .addTransportAddress(new InetSocketTransportAddress("host2", 9300));

它无法加入群集,但只是获取一个或更多的最初运输地址,并在每个动作的轮循机制方式与他们交流。
或者采取setting连接的方式,参考上一篇关于elasticsearch的文章。

1 0