3

我有一个两节点弹性搜索集群,它配置为有 5 个分片和 2 个副本。在我用~2M 记录索引一个 db 表后,在相应的缓存下生成了 124 个段。这个数字太大了,加了更多的索引,恐怕很容易达到 nofiles 的硬性限制。

有没有办法减少每个索引的段数?谢谢

4

2 回答 2

6

您可以控制弹性搜索中的合并策略。可以使用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'
于 2012-09-10T23:29:13.943 回答
2

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

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

在 Windows 的情况下,您需要删除引号。

于 2016-06-20T12:30:46.107 回答