簡體   English   中英

集群中的節點如何在ElasticSearch中進行通信,以及我們如何決定應在哪個節點中存儲文檔以及以后從哪里檢索文檔?

[英]How nodes in cluster communicate in ElasticSearch and also how we decide in which node we should store document and later from where to retrieve?

作為彈性搜索的新手,我對此幾乎沒有疑問。 1)集群中的節點如何與Elastic-Search中的集群通信?

2)我們如何決定應在哪個節點中存儲文檔,或者如何在不同節點上分發文檔?

3)同樣在搜索時,我們應該查詢的位置意味着節點2中的數據是否可以從節點1查詢?

我為此使用Java API。

提前致謝。

在閱讀此答案之前,請參考鏈接以了解elasticsearch的基本術語

答案1) :考慮單個節點正在運行,現在添加一個具有相同集群名稱的新節點。 new新節點搜索具有相同群集名稱的現有節點。 如果找到新節點,它將聚在一起。然后,第一個節點中的負載和數據在這些節點之間共享。Elasticsearch使用多播來查找節點。 參考

答案2) :我們可以使用分片在多個節點上分發文檔。 分片將大量文檔分割成碎片,讓它們由不同的節點處理。我們無法配置要在哪個節點中存儲的數據。 但是我們可以配置使用路由將一組相似的數據存儲在一個分片中

答案3) :是的,您可以從node1搜索node2中的數據.elasticsearch會將查詢發送到所有索引分片並返回數據。它會內部發送查詢到每個節點並從所有分片中獲取結果並執行map-reduce 映射減少結果將返回給您。

希望能幫助到你...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM