弹性indeces统计数据显示不同的文档计数

时间:2016-10-11 22:19:03

标签: elasticsearch

我的弹性搜索索引有大约2300万个文档,但如果我查看

curl -XGET 'http://localhost:9200/myindex/_stats?pretty'

我看到的文件数量增加了7倍

"primaries" : {
      "docs" : {
        "count" : 150292264,
        "deleted" : 16121164
      },
...
}

如何计算这些统计数据?

1 个答案:

答案 0 :(得分:0)

更高计数的原因是_stats api也会考虑嵌套文档。我认为你的映射中有nested datatype

您可以使用count api来计算顶级文档。

curl -XGET 'http://localhost:9200/myindex/_count?pretty'

将返回2300万个文档。

对于已删除的文档,它们代表已更新或删除的文档。更新文档时,前一个文档被标记为已删除,并且添加了新文档,因为段是不可变的。这些已删除的文档占用磁盘空间,直到调用下一个合并。您可以详细了解herehere

最后,您可以尝试通过调用force merge来回收磁盘空间,但操作非常繁重,并且会阻止任何新请求,直到完成为止。