字词查询不支持多个字段

时间:2018-08-16 19:52:42

标签: json elasticsearch search

有没有一种方法可以编写一个OR查询,该OR查询使用与field1匹配的术语(或)与使用field2匹配的术语。... 收到一条消息“ [terms]查询不支持多个字段” ...应该是一种方法:-

       "constant_score":{  
          "filter":{  
             "bool":{  
                "should":{  
                   "terms":{  
                      "field1 ":[  
                         "017M0",
                         "000XXJ0900"
                      ],
                      "field2":[  
                         "017M0",
                         "000XXJ0900"
                      ]
                   }                       
                }
             }
          }
       }

1 个答案:

答案 0 :(得分:1)

使用应该作为OR子句,并定义了多个术语,如下所示。解决了我的问题。

            "bool":{  
                  "should": [
                    {
                      "terms": {
                        "field1": [ "017M0v", "000XXJ0900v" ]
                      }
                    },
                    {
                      "terms": {
                        "field2": [ "017M0", "000XXJ0900"]

                      }
                    }
                  ]
                }