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获取到的多不少。

相关推荐
咸鱼求放生1 小时前
es在Linux安装
大数据·elasticsearch·搜索引擎
xyhshen2 小时前
k8s下离线搭建elasticsearch
elasticsearch·容器·kubernetes
@泽栖6 小时前
ES数据聚合
elasticsearch·搜索引擎
張萠飛10 小时前
Linux下如何使用shell脚本导出elasticsearch中某一个index的数据为本地csv文件
linux·运维·elasticsearch
LanLance12 小时前
ES101系列09 | 运维、监控与性能优化
java·运维·后端·elasticsearch·云原生·性能优化·golang
疯狂的沙粒15 小时前
如何通过git命令查看项目连接的仓库地址?
大数据·git·elasticsearch
IT成长日记19 小时前
Elasticsearch集群手动分片分配指南:原理与实践
大数据·elasticsearch·手动分片分配
Elastic 中国社区官方博客1 天前
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
大数据·人工智能·elasticsearch·搜索引擎·云计算·全文检索·aws
Tom Boom1 天前
Git常用命令完全指南:从入门到精通
大数据·git·elasticsearch·docker·自动化测试框架
星星点点洲1 天前
【Elasticsearch】 查询优化方式
elasticsearch·搜索引擎