ElasticSearch 复合查询 Boolean Query

官网文档网址:Boolean query | Elasticsearch Guide 7.17 | Elastic

目录

[复合查询 Boolean Query](#复合查询 Boolean Query)

利用bool查询实现功能

总结


复合查询 Boolean Query

布尔查询是一个或多个查询子句的组合。子查询的组合方式有:

  • must:必须匹配每个子查询,类似"与
  • should:选择性匹配子查询,类似"或"
  • must not:必须不匹配,不参与算分,类似"非
  • filter:必须匹配,不参与算分

利用bool查询实现功能

案例:搜索名字包含"如家",价格不高于400,在坐标31.21121.5周围10km范围内的酒店

GET /hotel/_search

{

"query" : {

"bool" : {

"must" : [

{

"match": {"name":"如家"}

}

],

"must_not" : [

{

"range": { "price": { "gt" : 400 }}

}

],

"filter" : [

{

"geo_distance" : {

"distance":"10km" ,

"location": "lat": 31.21 , "lon": 121.5}

}

}

]

}

}

}

总结

bool查询有几种逻辑关系?

  • must:必须匹配的条件,可以理解为 "与"
  • should:选择性匹配的条件,可以理解为 "或"
  • must_not:必须不匹配的条件,不参与打分
  • filter:必须匹配的条件,不参与打分
相关推荐
司小豆26 分钟前
第四课:Cordis 如何把插件组织成一个可运行的 Agent
大数据·人工智能
用户3610588626121 小时前
Flink基础之有界与无界流详解:批流一体的底层逻辑
大数据·flink
xiaoqiMikko1 小时前
七条 advisory 各给了一个修复版,而一次修完的那个数字一条都没写
java·spring boot
DPS普轩·真空灌胶机专家1 小时前
普轩科技亮相第四届西安军工展 | 真空灌胶专家,展位 2-003
大数据·人工智能·科技·机器人·pcb工艺
凯哥Java1 小时前
System.setProperty 的正确姿势:Spring Boot 启动类里的“缺省值“魔法
java·spring boot·后端
2401_861678621 小时前
Git 在 Windows 使用
windows·git·elasticsearch
崖边看雾1 小时前
MySQL——SQL 经典练习题:学生选课成绩查询(附详细注释)
大数据·数据库·sql·mysql
baopixiaoz2 小时前
BeeQuant × BeeAgent:AI驱动智能交易
大数据·人工智能·python·区块链
浔溺2 小时前
al+大数据每日学习笔记33
大数据·笔记·学习
ShineWinsu2 小时前
对于 Vue 3:开发前需要掌握的 JavaScript 核心基础:从变量、数组方法到 Promise、Async/Await 与 ES Module 的解析
javascript·vue.js·elasticsearch