可以使用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"中的条件按照传入参数的数组进行循环匹配

elastic search 里存在对象如下:Sku CarSpecs Id 101 Value 101001 Id 102 Value 102001 现在传入参数CarSpecs如下: Id 101 Value 101001 Id102 Value 102001 Id103

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

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