根据force merge文档:
仅应针对只读索引调用强制合并。对读写索引进行强行合并可能会产生非常大的段(每个段大于5Gb),并且合并策略永远不会考虑将其再次合并,直到它主要由已删除的文档组成为止。这会导致很大的段保留在碎片中。
但是,我不确定是否可以在读写索引上将forcemerge
与only_expunge_deletes
一起运行。使用only_expunge_deletes
选项是否仍然存在产生很大细分的风险?如果是这样,当不手动调用forcemerge
时,ES通常如何回收空间?
答案 0 :(得分:1)
如引用的文档中所述,forcemerge仅应真正在只读索引上调用。
要回答您的问题,请在后台ES constantly merges segments并在此过程中删除已删除的文档,因此您不必担心这一点。
您可以在this great video中看到这种情况。