elasticsearch _cat/indices docs.count is different than <index>/_count

今天遇到一个问题,kibana中看到文档数与下面语句查询到的不同

bash 复制代码
GET /_cat/count/jiankunking_xxxxx_product_expand_test?v
GET /jiankunking_xxxxx_product_expand_test/_search?track_total_hits=true

语句查询结果

bash 复制代码
epoch      timestamp count
1711433785 06:16:25  508666675

kibana数据

kibana这里看到的数据与GET _cat/indices?v获取到的结果是一样的

语句

bash 复制代码
GET _cat/indices/jiankunking_xxxxx_product_expand_test?v

结果

bash 复制代码
health status index                                  uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   jiankunking_xxxxx_product_expand_test7BbNsDs_RVyOR1Wn4LZoDA   6   0  894203500        88097    336.8gb        336.8gb

那么到底哪个是对的呢?

在GitHub中找到了原因:https://github.com/elastic/elasticsearch/issues/25868

cat api 和 count api 之间存在差异。前者查看的是 Lucene 统计,而后者执行的是查询。Lucene 统计会考虑到已删除的文档和嵌套文档,而这两种情况都隐藏在搜索次数中。

由于jiankunking_xxxxx_product_expand_test中有多个nested属性,所以cat的数量是比count api获取到的多不少。

相关推荐
AAA修煤气灶刘哥8 小时前
ES 地理查询玩明白,产品要的 “附近的店” 再也难不倒我!(附 DSL+Java 实战)
java·后端·elasticsearch
AAA修煤气灶刘哥13 小时前
ES 聚合爽到飞起!从分桶到 Java 实操,再也不用翻烂文档
后端·elasticsearch·面试
Elasticsearch13 小时前
Elastic Observability 中 Discover 的跟踪,用于深入的应用洞察
elasticsearch
Elasticsearch14 小时前
使用 cloud-native Elasticsearch 与 ECK 运行
elasticsearch
在未来等你17 小时前
Elasticsearch面试精讲 Day 9:复合查询与过滤器优化
大数据·分布式·elasticsearch·搜索引擎·面试
boonya21 小时前
Elasticsearch核心原理与面试总结
大数据·elasticsearch·面试
77qqqiqi21 小时前
安装es和kibana
elasticsearch·kibana
LQ深蹲不写BUG1 天前
ElasticSearch 基础内容深度解析
大数据·elasticsearch·搜索引擎
2501_920047031 天前
git在Linux中的使用
linux·git·elasticsearch
AIbase20242 天前
AI时代企业获取精准流量与实现增长的GEO新引擎
人工智能·搜索引擎·百度