Elasticsearch:使用 count API 来获得所有文档的个数

news/2024/7/7 6:36:40 标签: elasticsearch, 大数据, 搜索引擎, 数据库, 运维

在我开始使用 Elasticsearch 的时候,我希望获得给定查询的文档总数。比如我们想对数据进行分页显示。从 Elasticsearch 7.0之后,为了提高搜索的性能,在 hits 字段中返回的文档数有时不是最精确的数值。Elasticsearch 限制了最多的数值为10000。我们知道 Search API 提供的计数不准确,但后来我发现我可以通过 “track_total_hits” 参数获得这个结果。具体可以参考文章 “Elasticsearch:如何在搜索时得到精确的总 hits 数”

然而,通过进一步研究,我发现了一种更简单的方法来获取查询的实际文档数。

使用 Count API,我可以从查询中获取文档总数。

GET my_index/_count
{
  "query": {
   "range": {
     "year": {
       "gte": 1991
     }
   }
  }
}

在我们的示例中,我们将获得 1991 年之后发布的文档总数。

{
  "count": 634,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  }
}

如你所见,响应大小紧凑,如果使用 Search API,它的结果则不同。另外,

这很好,因为通过网络传输的数据包较小,这对成本有积极影响。


http://www.niftyadmin.cn/n/330864.html

相关文章

利用android studio 生成 JNI需要的动态库so文件 图文详解

一、环境搭建 1.1 Android studio2021.2.1安装 到官网下载,此处不再陈述 1.2 JNI安装 JNI 是JDK里的内容,电脑上正确安装并配置JDK即可。 1.3 NDK安装 直接在Android studio下载(File---->Settings) 1.4 编译工具 工具一…

Maven uber-jar(带依赖的打包插件)maven-shade-plugin

文章目录 最基础的 maven-shade-plugin 使用生成可执行的 Jar 包 和 常用的资源转换类包名重命名打包时排除依赖与其他常用打包插件比较 本文是对 maven-shade-plugin 常用配置的介绍,更详细的学习请参照 Apache Maven Shade Plugin 官方文档 通过使用 maven-shade…

Go 语言Map(集合)

Go 语言Map(集合) Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法…

verilog手撕代码7——固定优先级仲裁器和轮询仲裁器

文章目录 前言一、固定优先级仲裁器/Fixed Priority Arbiter1、case/if语句实现2、for循环语句实现参数化结构 二、轮询仲裁器/Round Robin Arbiter1、case语句实现2、for循环实现 前言 2023.5.16 天气炎热 最近实验推进一大步 一、固定优先级仲裁器/Fixed Priority Arbiter …

【NovelAI 小说SD批量生成 文生图/视频克隆】环境配置和使用方法

【样品】《谜影之夜》文生图全自动版SD一键成片 操作步骤&环境配置地址: 【NovelAI】月产10000全自动批量原创小说短视频支持文生图和视频克隆 该文章面向购买脚本的付费用户,提供所有问题以及解决办法。使用 notepad 打开对应的文件即可&#xff0c…

语义分析器

语义分析器(Semantic Analyzer)是编译器中的一个重要组成部分,它负责对源代码进行语义分析,检查源代码是否符合语义规范,并进行错误处理和类型推导等操作。 举个例子,假设有以下的源代码: int…

Redis 经典面试题合合集详解

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

机器学习之逻辑回归、一(学习理论)

P(D|θ) 文章目录 一、前言二、逻辑回归的由来三、到底什么是逻辑回归(1). 先对逻辑回归有个大概感觉(2).逻辑回归与线性回归的区别(3).sigmoid函数(4)目标函数&#xf…