日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java代码怎样连接es,Elasticsearch 连接ES的两种方式

發布時間:2025/3/20 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java代码怎样连接es,Elasticsearch 连接ES的两种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、創建客戶端節點來連接:

其中client(true)將node指定為客戶端節點,所以這個不能寫漏掉,客戶端節點是不持有數據的,

Java代碼??

Node?node?=?NodeBuilder.nodeBuilder().clusterName(clusterName).client(true)

.node();

Client?client?=?node.client();

優勢:

通過此方式創建客戶端能知道所有關于集群、索引、分片的信息,在操作上可以更快的執行。

不足之處:

啟動時客戶端節點必須加入集群并建立與其他節點的連接,此過程需要消耗時間和資源。

當ES集群處于另一個局域網中時就不行了,所以一般不建議使用此方式。

2、使用傳輸機客戶端來連接(即使用TransportClient來創建):

Java代碼??

Settings?settings?=?Settings.builder().put("cluster.name",clusterName).build();

client?=?TransportClient.builder().settings(settings).build();

client.addTransportAddress(new?InetSocketTransportAddress(

InetAddress.getByName(host),?port));

優勢:

啟動速度快,不需要像前者那么多的socket連接。

不足之處:

因為它不想前者那樣知道集群、索引、分片的這些信息,所以在分發數據和查詢上沒前者快,不能直接發送到指定的節點或直接從某個節點去取數據,需要ES在其中進行一些額外的轉發才能完成。

TransportClient類的可用配置:

client.transport.sniff:默認值為false,當設置為true時,ES會讀取集群中的節點信息。

client.transport.ignore_cluster_name:默認值為false,當設置為true時,ES會忽視配置中的集群名稱并嘗試連接到某個可連接集群上,而不管集群名稱是否匹配。

client.transport.ping_timeout:默認為5s,此參數指定了ping命令響應的超時時間。

client.reansport.nodes_sampler_interval:默認為5s,此參數指定了檢查節點可用性的時間間隔。

標簽:節點,client,集群,Elasticsearch,連接,ES,客戶端

來源: https://www.cnblogs.com/a-du/p/13329367.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的java代码怎样连接es,Elasticsearch 连接ES的两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。