You need to enable JavaScript to run this app. ElasticSearch nested类型字段OR条件filter查询实现咨询
优惠活动
大模型
产品
解决方案
定价
更多

ElasticSearch nested类型字段OR条件filter查询实现咨询

符合需求的Elasticsearch查询实现

因为你的data字段是nested嵌套类型,查询嵌套字段内容必须使用nested查询指定路径,同时将所有条件放入bool.filter块即可跳过打分逻辑,完全匹配你的需求。

最终查询DSL

GET /ab11/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "nested": {
            "path": "data",
            "query": {
              "terms": {
                "data.p_id": ["a", "b"]
              }
            }
          }
        }
      ]
    }
  }
}

说明

  • 上述查询等价于你给出的SQL逻辑:匹配data数组中至少有一个元素的p_id值为a或者b的所有文档
  • 条件放在filter上下文中不会计算相关性得分,查询性能更高
  • 注意你示例SQL中写的data.pid和索引实际定义的data.p_id字段名不一致,查询时需要以索引实际的字段名为准
  • 如果你需要同时返回匹配到的具体nested子文档内容,可以在nested查询中添加"inner_hits": {}参数

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 05:54:04