如何减少elasticsearch索引中的段数

时间:2012-09-10 23:05:05

标签: elasticsearch

我有一个双节点elasticsearch集群,配置为有5个分片和2个副本。在为具有~2M记录的db表编制索引之后,在相应的缓存下生成了124个段。这个数字太大了,我担心它会很容易达到添加更多索引的nofiles的硬限制。

有没有办法减少每个索引的细分数量?感谢

2 个答案:

答案 0 :(得分:6)

您可以控制elasticsearch中的merge policy。可以使用Update Index Settings API动态更新合并设置。例如,您可以将index.merge.policy.segments_per_tier减少到低于10的某个值,这将减少每个层上的细分数量,从而减少细分总数。

您还可以使用Optimize API手动强制合并。例如:

$ curl -XPOST 'http://localhost:9200/your-index/_optimize?max_num_segments=1'

答案 1 :(得分:1)

您可以使用以下命令减少最大段数

$ curl -XPOST 'http://localhost:9200/_forcemerge?max_num_segments=5'

如果是windows,则需要删除引号。