我尝试搜索并回答我的问题,但我无法找到任何问题,这是我第一次处理大数据和弹性搜索,我试图通过在线浏览弹性搜索来学习教程,在阅读时我遇到了缩小指数的主题以及如何做到这一点,现在我知道该怎么做但不幸的是我不知道为什么我需要这样做?为什么我需要缩小索引并减少分片?这是与空间有关的变化还是什么?
答案 0 :(得分:2)
每个Elasticsearch索引都包含多个分片(默认值为5),每个分片都是一个Lucene索引。其中每一个都有开销(就内存,文件句柄而言......),但允许更多的并行化。如果您在某些时候不再需要那么多的并行化 - 想想日志的每日索引,并且在几天之后将不再有更多的写入而且只有少量读取 - 您可能希望减少数量碎片减少他们的开销。
答案 1 :(得分:0)
分片数量以下列方式与查询性能相关联:
分片大小如何影响效果?
在Elasticsearch中,每个查询在每个分片的单个线程中执行。 但是,可以并行处理多个分片,也可以多个分片 针对相同分片的查询和聚合。
这意味着没有缓存时的最小查询延迟 涉及,将取决于数据,查询的类型,以及 碎片的大小。查询大量的小碎片将使 每个分片的处理速度更快,但需要排队的任务更多 按顺序处理和处理,它不一定会更快 而不是查询较少数量的较大分片。有很多小 如果存在多个分片,则分片也可以降低查询吞吐量 并发查询。
https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster