ElasticSearch DSL Bool查询

news/2024/7/7 5:59:29 标签: elasticsearch

Bool 查询的三个主要成分:must、should 和 must_not。

must:

这个条件是必须满足的。比如,你想找一本关于 Python 编程的书,那么你会在 must 里写上关键词 “Python”。

should:

这相当于你的偏好条件,可以有多个。比如,你希望这本书是最近出版的,或者是评分比较高的。这些条件用 should 来表示,ElasticSearch 会尽量满足它们,但如果不满足也没关系。

must_not:

这是一些你不希望包含在结果中的条件。比如,你可能不喜欢读电子书,那么你可以在 must_not 里写上 “电子书” 这个条件。

{
  "bool": {
    "must": {
      "match": { "title": "Python" }
    },
    "must_not": {
      "match": { "format": "电子书" }
    },
    "should": [
      { "range": { "publish_year": { "gte": 2022 } } },
      { "range": { "rating": { "gte": 4 } } }
    ]
  }
}

在这个查询中,我们使用了 must 条件确保标题包含 “Python”,must_not 条件排除了电子书,而 should 条件包含了发布年份在 2022 年之后和评分在 4 分以上的偏好条件。
在range语句中,包括大于(gt)、大于等于(gte)、小于(lt)和小于等于(lte)。


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

相关文章

oracle表空间对象迁移到其他表空间

oracle数据库的磁盘空间满了,除了简单粗暴的增加磁盘空间外,还可以缩小表空间的datafile,因为正常业务运行中,表数据的删除和增加,会造成表空间里面里面有很多空的地方。方案有很多种,我这里简单介绍一下&a…

JAVA设计模式(三)-原型

JAVA设计模式(三)-原型 本篇文章主要讲下java 创建型设计模式中的原型模式. 何谓原型模式: 简单来说就是 将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。 使用原型模式,就可以简化实例化的过程, 不必依赖于构造函数或者new关键字. 由于j…

Zabbix6 使用Agent2实现证书监控的详细步骤

目标 我们的目标是通过获取网站的证书信息来实现网站证书监控。 使用agent2的key 只需使用其中的key,就能实现我们的目标功能。然而,由于它返回的是json格式的数据,我们需要根据数据来配置监控项目(item)和触发器&am…

hyperf 十八 数据库 一

教程地址:Hyperf 一、安装 1.1 hyperf框架 composer require hyperf/db-connection 1.2 其他框架 composer require hyperf/database 二、配置 配置项类型默认值备注driverstring无数据库引擎hoststring无数据库地址databasestring无数据库默认 DBusernamest…

Python办公自动化 -- Python发送电子邮件和Outlook的集成

Python办公自动化 – Python发送电子邮件和Outlook的集成 文章目录 Python办公自动化 -- Python发送电子邮件和Outlook的集成前言一、使⽤Python发送电⼦邮件1、导⼊所需的模块2、设置邮箱参数3、 创建邮件内容4、连接到SMTP服务器并发送邮件 二、Python与Outlook的集成1、使⽤…

nodejs+vue+微信小程序+python+PHP医院挂号系统-计算机毕业设计推荐

当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术, 本医院挂号系统也是紧跟科学技术的发展,运用当今一流的软件技术实现软件系统的开发,让家具销…

HarmonyOS - 鸿蒙开发入门

文章目录 HarmonyOS核心资源特性:全场景终端HarmonyOS 版本 HarmonyOS 和 OpenHarmony教程资源开发环境开发工具 - DevEco开发语言 - ArkTS核心框架 - ArkUI 考证 HarmonyOS 开发交流秋秋群:23458659,V : ez-code,期待交流和合作 …

parseInt(0.0000005)大于等于5

文章目录 一、前言二、parseInt()的神秘行为三、解决parseInt()的奥秘四、结论五、最后 一、前言 parseInt() 是 JavaScript 的内置函数,用于解析数字字符串中的整数。例如,从数字字符串中解析整数100: const number parseInt(100); numbe…