集群中的节点如何在ElasticSearch中进行通信,以及我们如何决定应该在哪个节点存储文档以及稍后从哪里检索?

时间:2014-04-21 03:55:35

标签: java search indexing elasticsearch

对弹性搜索不熟悉我几乎没有问题。 1)集群中的节点如何与Elastic-Search中的Cluster通信?

2)我们如何决定在哪个节点存储文档或如何在不同节点上分发文档?

3)同时在搜索我们应该查询的位置意味着是否我们可以从节点1查询数据?

我正在使用Java API。

提前致谢。

1 个答案:

答案 0 :(得分:2)

在您阅读此答案之前,请参阅链接以了解elasticsearch

的基本术语

回答1):考虑单个节点正在运行。现在添加具有相同群集名称的新节点。新节点搜索具有相同群集名称的现有节点。如果它找到了新的节点,它就会聚集在一起。然后在这些节点之间共享第一个节点中的加载和数据.Elasticsearch使用多播来查找节点。refer

回答2):我们可以使用分片在多个节点上分发文档。分片将大量的docs分成多个部分并让它们由不同的节点处理。我们无法配置哪个数据存储在哪个节点中。但我们可以配置为使用 Routing

在一个分片中存储一组相似的数据

回答3):是的,您可以从node1搜索node2中的数据.Elasticsearch ll将您的查询发送到索引的所有分片并返回数据。它在内部向每个节点发送查询并获取所有分片的结果并执行 map-reduce 。 map-reduce结果将返回给您。

它帮助......