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:必须匹配的条件,不参与打分
相关推荐
武子康17 小时前
大数据-212 K-Means 聚类实战指南:从无监督概念到 Inertia、K 值选择与避坑
大数据·后端·机器学习
Elasticsearch17 小时前
JINA AI 与 Elasticsearch 的集成
elasticsearch
Elasticsearch17 小时前
使用 Elastic 中的 OpenTelemetry 为 Nginx 实现端到端分布式追踪的实用指南
elasticsearch
Tancenter17 小时前
Mysql和ElasticsSearch
数据库·mysql·elasticsearch
undsky17 小时前
【RuoYi-SpringBoot3-Pro】:多租户功能上手指南
spring boot·后端·mybatis
十年磨一剑~17 小时前
springboot+vue+mysql手搓一个管理系统
vue.js·spring boot·mysql
3***g20517 小时前
Xshell高效运维实战技术文章大纲核心功能与应用场景
大数据
invicinble17 小时前
关于写原创文章的思路分析
java·spring boot·spring
龙亘川17 小时前
城管住建领域丨市政设施监测功能详解——桥梁运行监测系统(2)、管廊运维监测系统(3)
大数据·运维·人工智能·物联网·政务
2501_9209538617 小时前
行业内比较好的6S管理咨询平台
大数据·运维·人工智能