_stats与_count返回的弹性搜索文档计数

时间:2015-03-25 22:27:37

标签: rest elasticsearch database nosql

我试图获取弹性搜索群集中的索引的统计数据/计数(1.2.1)。我使用Indices Stats API(_stats端点)来获取主文档的总数及其在磁盘上的大小。但是,我开始尝试使用Count API(_count端点)并注意到值不对齐。

这些值有什么区别?尽管文档中的线索表明,在刷新索引时,Indicies Stats返回的值可能会发生变化,但文档中并未完全清楚。这让我想知道这是否是Lucene层的低级值。

指数统计API

localhost:9200/my_index/_stats

...snip...

"_all" : {
  "primaries" : {
    "docs" : {
      "count" : 8284,
      "deleted" : 87
    },
  }
}

...snip...

计算API

localhost:9200/my_index/_count

{
  "count" : 6854,
  "_shards" : {
    "total" : 40,
    "successful" : 40,
    "failed" : 0
  }
}

1 个答案:

答案 0 :(得分:19)

实际上,您从Indices stats API返回的 docs.count 还包括索引中存在的嵌套文档的数量,因此它总是大于或等于您从中返回的计数Count API,它只返回顶级文档的数量,即从搜索查询返回的文档。





因此,根据您发布的数字判断,看起来您的索引包含的文档的字段在映射中的类型为 nested 。听起来不错?