我们将数据导入到弹性搜索集群中的少数指数,每个约10gb左右 与此同时,我们关注现有指数的搜索,其中很少是小~100mb,其中很少是大~10gb。
为了优化索引,我们:
- 使用bulk
api优化批量大小;
- 将刷新间隔设置为-1
;
- 将复制因子设置为0
;
现在,我们正在尝试了解合并限制如何提供帮助。 如果仅针对现有指数进行搜索,搜索和细分合并的关系如何?
根据这个DEV_BROADCAST_VOLUME,我们可以禁用合并限制
- 这是否意味着合并将" eat"磁盘i / o?
- 这是否意味着合并完全没有发生,我们必须在索引完成后手动_forcemerge
?在这种情况下应该担心最大打开文件描述符吗?
根据这些article和article,我们根本不应该触及合并设置。
非常困惑,任何帮助都非常感谢。
答案 0 :(得分:0)
根据讨论here:
自ES 2.x起,IO限制由Lucene自动处理, 意味着它在写入合并的字节时以20 MB /秒的速度开始 分割。然后,当合并落后时,它会增加该速率 否则减少它。这意味着随着时间的推移,合并只会吸收 尽可能多的IO带宽来跟上你的速率 索引。