可以将读写索引上的only_expunge_deletes强制合并吗?

时间:2019-04-29 12:42:14

标签: elasticsearch

根据force merge文档:

  

仅应针对只读索引调用强制合并。对读写索引进行强行合并可能会产生非常大的段(每个段大于5Gb),并且合并策略永远不会考虑将其再次合并,直到它主要由已删除的文档组成为止。这会导致很大的段保留在碎片中。

但是,我不确定是否可以在读写索引上将forcemergeonly_expunge_deletes一起运行。使用only_expunge_deletes选项是否仍然存在产生很大细分的风险?如果是这样,当不手动调用forcemerge时,ES通常如何回收空间?

1 个答案:

答案 0 :(得分:1)

如引用的文档中所述,forcemerge仅应真正在只读索引上调用。

要回答您的问题,请在后台ES constantly merges segments并在此过程中删除已删除的文档,因此您不必担心这一点。

您可以在this great video中看到这种情况。