Elasticsearch java API (5)Transport Client
阿新 • • 發佈:2019-01-22
Transport Clientedit
的 TransportClient
遠端連線到一個Elasticsearch叢集使用傳輸模組。它不加入叢集,只是被一個或多個初始運輸地址和與他們以迴圈賽的方式在每個行動(儘管大多數操作可能會“兩跳”操作)。
// on startup Client client = TransportClient.builder().build() .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300)) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300)); // on shutdown client.close();
請注意,您必須設定叢集名稱比“elasticsearch”:如果你使用一個不同的
Settings settings = Settings.settingsBuilder()
.put("cluster.name", "myClusterName").build();
Client client = TransportClient.builder().settings(settings).build();
//Add transport addresses and do something with the client...
傳輸客戶端有一個叢集嗅探功能,允許它動態地新增新的主機和刪除舊的。
記住列表可能不包括原始節點連線到如果節點不是一個數據節點。例如,如果您一開始連線到主節點,聞沒有進一步的請求後,將主節點,而是任何資料節點。運輸不包括資料節點的原因是為了避免搜尋流量只主節點。
為了使嗅探,集 client.transport.sniff
來 true
Settings settings = Settings.settingsBuilder()
.put("client.transport.sniff", true).build();
TransportClient client = TransportClient.builder().settings(settings).build();
其他運輸客戶級別設定包括:
引數 | 描述 |
---|---|
|
設定為 |
|
時間等待一個平響應從一個節點。預設為 |
|
多長時間樣本/ ping列出的節點和連線。預設為 |