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:必须匹配的条件,不参与打分
相关推荐
涤生大数据14 小时前
放弃Canal后,我们用Flink CDC实现了99.99%的数据一致性
大数据·数据仓库·flink·大数据开发·flink cdc·数据开发·实时数据
云和数据.ChenGuang14 小时前
openEuler安装elasticSearch
大数据·elasticsearch·搜索引擎·全文检索·jenkins
檀越剑指大厂14 小时前
【Idea系列】换行处理
java·ide·intellij-idea
Herlie14 小时前
AI 创业这三年:我的三次认知迭代与自我修正
大数据·人工智能
光仔December14 小时前
【Elasticsearch入门到落地】19、ElasticSearch深度分页问题解决方案:search_after技术详解
elasticsearch·scroll·search_after·from+size·pit
苹果醋314 小时前
JAVA设计模式之策略模式
java·运维·spring boot·mysql·nginx
PNP Robotics15 小时前
聚焦具身智能,PNP机器人展出力反馈遥操作,VR动作捕捉等方案,获得中国科研贡献奖
大数据·人工智能·python·学习·机器人
千寻技术帮15 小时前
10370_基于Springboot的校园志愿者管理系统
java·spring boot·后端·毕业设计
聆风吟º15 小时前
【Spring Boot 报错已解决】彻底解决 “Main method not found in class com.xxx.Application” 报错
java·spring boot·后端
木易 士心15 小时前
数字身份的通行证:深入解析单点登录(SSO)的架构与艺术
java·大数据·架构