我的索引中有“2”“number_of_shards”和“0”“number_of_replicas”。然后,如果我有3个节点集群,2个分片如何分布在3个节点上。如何在elasticsearch中进行分片。
答案 0 :(得分:2)
如果您有2个分片和0个包含3个节点的副本,则一个节点上没有任何内容。
通过将ID空间划分为相等的部分来进行分片(基于id键的散列,以便随机化它而不是获得热点)。从那里,基于许多关键点将分片分配给节点(最小化节点上给定索引的分片数,可用磁盘空间等)。
如果出现问题,副本可以帮助您进行读取扩展和数据恢复。
然后将所有查询划分为#shard部分,并执行map / reduce操作以查询/将结果合并到您要返回的最终产品中。