首页 > 解决方案 > elasticsearch 中 docs.count 的值是否还包括 docs.deleted 的值?

问题描述

我有一个包含以下docs.count和的索引docs.deleted

docs.count   = 2762694
docs.deleted = 2508162

docs.count磁盘中的文档总数是否包括标记为已删除的文档?或者磁盘中的文档总数是docs.count+ docs.deleted

更新:为了澄清我的担忧,如果docs.count还包含docs.deleted在其中,那么在上面的示例中,大约 90% 的文档被删除。但另一方面,它们docs.deleted不计入其中,docs.count它们是附加的,因此只有 47% 的文档被删除。基于此,我可以决定使用强制合并的重要性。

标签: elasticsearch

解决方案


您在 API 响应中看到的_cat/indices计数是 Lucene 级别的计数,因此docs.count还包括隐藏的嵌套文档。

docs.deleted确实是标记为已删除但尚未删除的文档。

如果您想要文档的真实计数,您应该使用_cat/countAPI,该 API 提供了一个干净的计数,该计数指示活动文档的数量,并且不包括尚未被合并过程清理的已删除文档。


推荐阅读