es查询语法

查询关键词的含义:

  1. match: 用于进行全文搜索,分析查询文本并与倒排索引中的词项进行匹配。

  2. term: 精确匹配,适用于非分析字段,如 keyword 类型。用于查找字段值完全相等的文档。

  3. bool: 组合多个查询条件。可以使用 must(必须满足)、should(可选满足)和 must_not(不能满足)来构建复杂查询。

  4. range: 用于查找字段值在某个范围内的文档。例如,可以查找年龄大于某个值的用户。

  5. wildcard: 使用通配符(如 *?)进行模糊匹配。适用于匹配包含特定模式的字段值。

  6. fuzzy: 模糊匹配,允许一定的拼写错误或相似度。通常用于文本字段。

  7. aggregations: 用于统计和分析数据,比如计数、求和、平均等。适用于对结果集进行聚合。

  8. size: 定义返回结果的文档数量。

  9. from: 用于分页,定义从结果集的哪个位置开始返回文档。

  10. sort: 用于对结果进行排序,可以根据一个或多个字段进行升序或降序排序。

  11. should 是用于 bool 查询的一个子句,它允许你指定可选的匹配条件。使用 should 的查询具有以下特点:

should 特点

  1. 可选匹配:在 should 中列出的条件不是必需的,只要至少满足一个条件,文档就会被包含在结果中。

  2. 加权:如果一个文档匹配多个 should 条件,它的评分会更高。这可以帮助你根据相关性对结果进行排序。

  3. 组合查询:可以与 mustmust_not 一起使用,以创建复杂的查询逻辑。

1. 简单查询
查找所有文档:

json
GET /users/_search
{
  "query": {
    "match_all": {}
  }
}

2. 匹配查询
查找名称为 "Alice" 的用户:

json
GET /users/_search
{
  "query": {
    "match": {
      "name": "Alice"
    }
  }
}

3. 布尔查询
查找年龄大于 25 且兴趣包含 "reading" 的用户:

json
GET /users/_search
{
  "query": {
    "bool": {
      "must": [
        { "range": { "age": { "gt": 25 } } },
        { "match": { "interests": "reading" } }
      ]
    }
  }
}

4. 过滤查询
查找居住在纽约的用户:

json
GET /users/_search
{
  "query": {
    "term": {
      "address.city": "New York"
    }
  }
}

5. 聚合查询
统计不同兴趣的用户数量:

json
GET /users/_search
{
  "size": 0,
  "aggs": {
    "interests_count": {
      "terms": {
        "field": "interests"
      }
    }
  }
}

6. 组合查询
查找年龄在 20 到 40 之间,且居住在纽约的用户:

json
GET /users/_search
{
  "query": {
    "bool": {
      "must": [
        { "range": { "age": { "gte": 20, "lte": 40 } } },
        { "term": { "address.city": "New York" } }
      ]
    }
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/427698.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BLE 协议之链路层

目录 一、前言二、状态和角色三、Air Interface Packets1、Preamble 字段2、Access Address 字段2.1 静态地址2.2 私有地址 3、PDU 字段3.1 Advertising Channel PDU3.1.1 Header 字段3.1.2 Payload 字段 3.2 Data Channel PDU3.2.1 Header 字段3.2.2 Payload 字段 4、CRC 字段…

STM32上实现FFT算法精准测量正弦波信号的幅值、频率和相位差(标准库)

在研究声音、电力或任何形式的波形时,我们常常需要穿过表面看本质。FFT(快速傅里叶变换)就是这样一种强大的工具,它能够揭示隐藏在复杂信号背后的频率成分。本文将带你走进FFT的世界,了解它是如何将时域信号转化为频域…

【微信小程序】搭建项目步骤 + 引入Tdesign UI

目录 创建1个空文件夹,选择下图基础模板 开启/支持sass 创建公共style文件并引入 引入Tdesign UI: 1. 初始化: 2. 安装后,开发工具进行构建: 3. 修改 app.json 4. 使用 5. 自定义主题色 创建1个空文件夹,选择下…

初始c++:入门基础(完结)

打字不易,留个赞再走吧~~~ 目录 一函数重载二引用1 引⽤的概念和定义2引⽤的特性3引⽤的使⽤三inline四nullptr 一函数重载 C⽀持在同⼀作⽤域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者 类型不同。这样C函数调⽤…

FPGA随记-二进制转格雷码

反射二进制码(RBC),也称为反射二进制(RB)或格雷码(Gray code),得名于Frank Gray,是二进制数制的一种排列方式,使得连续两个值之间仅有一个比特(二…

【Python进阶】requests库有哪些常用的参数和方法?一篇文章带你详细了解!!!附带源码

常用的requests库参数和方法 常用方法 requests库中定义了多个常用的请求方法,其中requests.get()和requests.post()是最常用的方法。这些方法对应于HTTP协议中的GET和POST方法。 requests.get(url, paramsNone, **kwargs): 用于发送GET请求。requests.post(url…

【高阶数据结构】二叉搜索树的插入、删除和查找(精美图解+完整代码)

🤡博客主页:醉竺 🥰本文专栏:《高阶数据结构》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多《高阶数据结构》点击专栏链接查看&a…

Mysql梳理6——order by排序

目录 6 order by排序 6.1 排序数据 6.2 单列排序 6.3 多行排列 6 order by排序 6.1 排序数据 使用ORDER BY字句排序 ASC(ascend):升序DESC(descend):降序 ORDER BY子句在SELECT语句的结尾 6.2 单列排序 如果没有使用排序操作,默认…

一、桥式整流电路

桥式整流电路 1、二极管的单向导电性: 伏安特性曲线: 理想开关模型和恒压降模型 2、桥式整流电流流向过程 输入输出波形: 3、计算:Vo,lo,二极管反向电压。 学习心得

十三,Spring Boot 中注入 Servlet,Filter,Listener

十三,Spring Boot 中注入 Servlet,Filter,Listener 文章目录 十三,Spring Boot 中注入 Servlet,Filter,Listener1. 基本介绍2. 第一种方式:使用注解方式注入:Servlet,Fil…

【C++】——多态详解

目录 1、什么是多态? 2、多态的定义及实现 2.1多态的构成条件 ​2.2多态语法细节处理 2.3协变 2.4析构函数的重写 2.5C11 override 和 final关键字 2.6重载—重写—隐藏的对比分析 3、纯虚函数和抽象类 4、多态的原理分析 4.1多态是如何实现的 4.2虚函数…

OpenCV 2

目录 图像平滑处理 高斯与中值滤波 图像阈值 ​编辑 Canny边缘检测 非极大值抑制 边缘检测效果 轮廓检测方法 ​编辑 ​编辑​编辑 轮廓检测结果 轮廓特征与近似 图像平滑处理 以上两种出来的图片效果 以上的效果,因为填的是normalize False,越界…

零基础到项目实战:Node.js版Selenium WebDriver教程

在当今数字化时代,Web应用程序的质量和性能至关重要。为了确保这些应用的可靠性,自动化测试成为一种不可或缺的工具。Selenium,作为自动化测试领域的瑰宝,为我们提供了无限可能。本教程将深入介绍Selenium,以及如何结合…

硬盘数据恢复必备:4 款强大硬盘数据恢复软件推荐!

在数字化的时代,我们的生活和工作越来越离不开电脑,而硬盘作为重要的数据存储设备,一旦出现数据丢失的情况,往往会给我们带来极大的困扰。别担心,今天就为大家推荐四款强大的硬盘数据恢复软件,帮助你轻松找…

优化算法(三)—模拟退火算法(附MATLAB程序)

模拟退火算法(Simulated Annealing, SA)是一种基于概率的优化算法,旨在寻找全局最优解。该算法模拟金属退火过程中的物质冷却过程,逐渐降低系统的“温度”以达到全局优化的效果。它特别适用于解决复杂的组合优化问题。 一、模拟退…

[羊城杯 2020]Blackcat1

知识点:数组加密绕过 进入页面熟悉的web三部曲(url地址,web源代码,web目录扫描) url地址没有什么东西去看看源代码. 这有一个mp3文件点一下看看. 在最后面发现了 PHP源码. if(empty($_POST[Black-Cat-Sheriff]) || em…

Android Studio报错: Could not find pub.devrel:easypermissions:0.3.0, 改用linux编译

在Android studio中去编译开源的仓库,大概率就是各种编译不过,一堆错误,一顿改错,基本上会耗费非常多时间,比如: 这个就是改gradle版本,改成7.2 ,修改完成之后,还有其他报…

翻页时钟 2.0-自动置顶显示,点击小时切换显示标题栏不显示标题栏-供大家学习研究参考

更新内容 自动置顶显示点击小时切换显示标题栏,(显示标题栏后可移动时钟位置,鼠标拖动边框调整时钟大小)不显示标题栏时,透明部分光标可穿透修正一个显示bu 下载地址: https://download.csdn.net/download…

iPhone 16系列:熟悉的味道,全新的体验

来看看iPhone 16和Plus这两个新成员,实话说,它们和之前曝光的样子几乎完全一致。下面我们就一起来细数一下这次的几大变化吧。 外观设计:焕然一新 首先,最显眼的变化就是后置镜头模组的布局调整为了垂直排列。这一改变使得整个背…

小程序开发设计-第一个小程序:安装开发者工具③

上篇文章导航: 小程序开发设计-第一个小程序:注册小程序开发账号②-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142219035?spm1001.2014.3001.5501 须知:不同版本选项有所不同,并无大碍。 第一个小程序&#…