elasticsearch - 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% 的文档被删除。基于此,我可以决定使用强制合并的重要性。
解决方案
您在 API 响应中看到的_cat/indices
计数是 Lucene 级别的计数,因此docs.count
还包括隐藏的嵌套文档。
docs.deleted
确实是标记为已删除但尚未删除的文档。
如果您想要文档的真实计数,您应该使用_cat/count
API,该 API 提供了一个干净的计数,该计数指示活动文档的数量,并且不包括尚未被合并过程清理的已删除文档。
推荐阅读
- html - 在 Angular 的页面上添加小图像或图标?
- java - Spring项目迁移java 1.8到java 11(tomcat运行报错)
- db2 - 由于隐式模式创建,在 IBM Cloud 上的 Db2 中加载数据时出错
- python - 多处理中未调用函数
- interface - 一般来说,协议和接口有什么区别?
- vue.js - Nuxt fetch 中的 Vuex 动作“不是函数”
- node.js - Cloud Functions: How to handle .then() for task accomplished or not accomplished?
- string - Delete common values from string variables using shell script
- c - 如果在释放内存之前将指针设置为 NULL 会发生什么?
- java - 如何有效地解析每次演变的 Rest Api 响应