对弹性搜索不熟悉我几乎没有问题。 1)集群中的节点如何与Elastic-Search中的Cluster通信?
2)我们如何决定在哪个节点存储文档或如何在不同节点上分发文档?
3)同时在搜索我们应该查询的位置意味着是否我们可以从节点1查询数据?
我正在使用Java API。
提前致谢。
答案 0 :(得分:2)
在您阅读此答案之前,请参阅链接以了解elasticsearch
的基本术语回答1):考虑单个节点正在运行。现在添加具有相同群集名称的新节点。新节点搜索具有相同群集名称的现有节点。如果它找到了新的节点,它就会聚集在一起。然后在这些节点之间共享第一个节点中的加载和数据.Elasticsearch使用多播来查找节点。refer。
回答2):我们可以使用分片在多个节点上分发文档。分片将大量的docs分成多个部分并让它们由不同的节点处理。我们无法配置哪个数据存储在哪个节点中。但我们可以配置为使用 Routing
在一个分片中存储一组相似的数据回答3):是的,您可以从node1搜索node2中的数据.Elasticsearch ll将您的查询发送到索引的所有分片并返回数据。它在内部向每个节点发送查询并获取所有分片的结果并执行 map-reduce 。 map-reduce结果将返回给您。
它帮助......