如何使用“通配符”或“regexp”来查询嵌套对象/数组

时间:2016-08-17 10:31:27

标签: arrays elasticsearch nested wildcard

我正在尝试使用术语过滤器搜索文档。我有一个对象数组,而这些对象又有一个字符串和一个数组元素。例如:

{
  "shop" : {
    "name" : "bay avenue store",
    "brands": [
       {
         "name" : "coca-cola",
         "items" : ["diet coke", "fanta", "coke-zero"]
        },
       {
         "name" : "pepsi",
         "items" : ["extra zero", "mountain dew"]
        } 
     ]
  }
}

如何在“项目”中使用通配符。 我正在尝试类似的事情:

{
  "query": { 
    "nested" : {
      "path" : "brands",
      "query" : { 
        "match" : {
          {"brands.items": ["*zero"]}
        }
      }
    }
  } 
}

这可能吗? 请建议我解决方案。

1 个答案:

答案 0 :(得分:2)

没关系,经过几次点击和追踪后找到解决方案。 这就是..

insertOrThrow()