ElasticSearch 删除了占用更多 space 的文档

ElasticSearch deleted documents taking more space

我们的 ES 遇到了问题。合并的速度没有 ingestion/updates 快,因此我们有大量已删除的文档需要额外占用 65% space。我读到合并会自动发生,我们也可以使用 ES 命令强制执行,但除非我停止项目 ingestion/updates,否则两者似乎都不起作用。 ES 为我们对数百万项的聚合查询提供了出色的性能,因此我们将其用作我们的主要数据库。

我们从 ES 2.X 切换到 ES 5.5,但仍然存在这个问题。

我玩过 forcemerge、分片大小、分片数和停止摄取。只有最后一个有效。

我们有没有办法在不停止项目 ingestion/updates 的情况下减少已删除文档的数量?

在 Elasticsearch 5.x 上,如果合并落后,应该有一种机制来背压索引率。想知道是否是这种情况。您可以使用另一个设置,它根据删除次数决定何时触发合并。您可以将其配置为合并策略的一部分,请参阅

https://github.com/elastic/elasticsearch/blob/master/core/src/main/java/org/elasticsearch/index/MergePolicyConfig.java