我正在阅读这个文档https://www.elastic.co/guide/en/elasticsearch/reference/7.17/size-your-shards.html来决定我需要多少碎片。
它提到了一些因素,如每个碎片的数据大小、节点堆内存大小等。例如,它说通常尝试将一个碎片大小保持在10G到50G之间,但没有提到文档计数。
我有一些数据是非常小的个别,但有一个庞大的数字。对于1000万个文档,它需要5GB的存储容量。在这种情况下,我是否使用1片碎片?
该查询在每个碎片的单个线程上执行,在一个线程中搜索1000万个文档可能不是一个好主意。
在这种情况下,对于大量的小文档,我应该如何确定碎片的大小?
发布于 2022-07-26 05:51:24
在(2^32)-1的lucene级别上有一个按Elasticsearch and Lucene document limit的每片限制
虽然建议的碎片大小是<50 gig,但是如果所有的数据都是这样的话,您可以使用更小的索引。在这一建议中,最重要的,也是未被提及的一点是,你不应该有一吨非常小的指数。例如,数千个索引,有一个碎片和少量的文件。最好合并它们(如果可以的话),因为资源使用的大部分最终是基于碎片的数量,而不是文档。
对于您想要的,请使用一个主碎片。
https://stackoverflow.com/questions/73095185
复制相似问题