繁体   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