可以使用nested查询来实现该需求,具体查询语句如下:

{
  "query": {
    "nested": {
      "path": "Sku.CarSpecs",
      "query": {
        "bool": {
          "must": [
            {
              "match": {
                "Sku.CarSpecs.Id": 101
              }
            },
            {
              "match": {
                "Sku.CarSpecs.Value": 101001
              }
            }
          ]
        }
      }
    }
  }
}

其中,'path'指定了要查询的嵌套对象的路径,'query'中的'bool'表示同时满足多个条件,'must'中的两个'match'分别匹配CarSpecs中的Id和Value,满足所有条件的Sku对象即为查询结果。如果要查询多个CarSpecs对象,可以将'must'中的条件按照传入参数的数组进行循环匹配。

Elasticsearch 嵌套查询:匹配多个 CarSpecs 对象

原文地址: https://www.cveoy.top/t/topic/k6sV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录