匹配具有多个值的字段

时间:2017-07-10 23:15:57

标签: elasticsearch

我想获得所有与文字水果相关的文字:苹果,橘子和菠萝。所以基本上我想要这样的东西:

{
  "query":{
    "bool":{
      "must": [
        {
          "match": {
            "fruits": ["Apples","Oranges","Pineapples"]
          }
        }
      ]
    }
  }
}

我如何通过这样的简单技巧来实现这一目标?

1 个答案:

答案 0 :(得分:3)

您可以使用"术语"代替"匹配"获取文件

{
   "query": {
      "terms": {
         "fruits": [
            "apples",
            "oranges",
            "pineapples"
         ]
      }
   }
}

注意:您应该小写值,因为"术语"查询找到完全匹配,如果没有使用分析器,弹性搜索使用默认分析器(标准分析器),同时索引文本值,在索引之前降低值