为什么我需要缩小elasticsearch中的索引

时间:2018-05-03 12:23:29

标签: elasticsearch

我尝试搜索并回答我的问题,但我无法找到任何问题,这是我第一次处理大数据和弹性搜索,我试图通过在线浏览弹性搜索来学习教程,在阅读时我遇到了缩小指数的主题以及如何做到这一点,现在我知道该怎么做但不幸的是我不知道为什么我需要这样做?为什么我需要缩小索引并减少分片?这是与空间有关的变化还是什么?

2 个答案:

答案 0 :(得分:2)

每个Elasticsearch索引都包含多个分片(默认值为5),每个分片都是一个Lucene索引。其中每一个都有开销(就内存,文件句柄而言......),但允许更多的并行化。如果您在某些时候不再需要那么多的并行化 - 想想日志的每日索引,并且在几天之后将不再有更多的写入而且只有少量读取 - 您可能希望减少数量碎片减少他们的开销。

答案 1 :(得分:0)

分片数量以下列方式与查询性能相关联:

  

分片大小如何影响效果?

     

在Elasticsearch中,每个查询在每个分片的单个线程中执行。   但是,可以并行处理多个分片,也可以多个分片   针对相同分片的查询和聚合。

     

这意味着没有缓存时的最小查询延迟   涉及,将取决于数据,查询的类型,以及   碎片的大小。查询大量的小碎片将使   每个分片的处理速度更快,但需要排队的任务更多   按顺序处理和处理,它不一定会更快   而不是查询较少数量的较大分片。有很多小   如果存在多个分片,则分片也可以降低查询吞吐量   并发查询。

https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster