首页/云/可观测性速查/Bool 查询:组合检索条件
本包目录(282 条)
监控体系与方法40 条Prometheus 与采集64 条Grafana 与看板53 条
日志平台52 条
链路追踪23 条告警与响应50 条

Bool 查询:组合检索条件

bool 查询是 DSL 组合器:must 计分、filter 不计分且可缓存、should 提权、must_not 排除;日志查询把过滤条件放 filter 性能更好。

可观测性速查云更新于 2026-10-12

典型组合

典型组合
GET /logs-app/_search
{
  "query": {
    "bool": {
      "filter": [
        { "term": { "service.keyword": "api" } },
        { "range": { "@timestamp": { "gte": "now-1h" } } }
      ],
      "must": [ { "match": { "message": "timeout" } } ],
      "must_not": [ { "term": { "env.keyword": "test" } } ]
    }
  },
  "size": 20
}
只做筛选不做相关性排序的条件放 filter:结果集可被缓存,长查询更省资源。

易错点

  • filter 与 must 的差异在打分与缓存,日志检索一般以 filter 为主
  • should 在无 must/filter 时至少要满足一个才返回文档,容易误解

数据来源与参考

  • Elastic 官方文档 · Bool query
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌