arrays - 如何在查询嵌套对象/数组时使用 "wildcard"或 "regexp"

标签 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"]}
        }
      }
    }
  } 
}

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

最佳答案

没关系,经过几次点击和跟踪后找到了解决方案。 开始了..

"query": {
  "nested": {
    "path":"brands ",
    "query":{
      "wildcard":{
        "brands.items":{
          "value":"*zero*"
        }
      }
    }
  }
}

关于arrays - 如何在查询嵌套对象/数组时使用 "wildcard"或 "regexp",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38994142/

相关文章:

elasticsearch - 将用户数据与ElasticSearch混合

Python 使用 lambda 将 pd.DataFrame 应用于嵌套循环是否可能?

java - 调用构造函数时嵌套几个新的运算符是不是错了?

javascript - 将()插入深层数组

c - 如何访问空字符之前的字符处的字符(字符串)数组

elasticsearch - MAC Elasticsearch 快照位置

elasticsearch - 使用 Elasticsearch 进行过滤查询

elasticsearch - 无论字段的位置如何,都在嵌套文档中搜索字段

javascript - 如何将缺失值添加到两个关联数组? (JavaScript)

java - 在记分板代码中使用什么单链表或数组?