13

我正在尝试获取一个可以返回满足过滤条件的 json 的查询。我试图得到一个响应,其中包含一个名为“test1”的字段,它也应该缺少一个字段“test2”,我试过查询

{
 "query": {
  "filtered": {
  "query": {
    "match_all": {}
   },
      "filter": {
         "missing": {
        "field": "test2"
       },
       "exists": {
         "field": "test1"
       }
      }
    }
  } 
}

上面的查询返回所有具有字段“test1”的字段,它还返回缺少字段“test2”的提要,我试图缩小响应范围,因为我只希望提要满足这两个条件。

4

1 回答 1

24

您可以使用bool filter组合两个或多个过滤器:

{
  "query": {
    "filtered": {
      "query": {
        "match_all": {}
      },
      "filter": {
        "bool": {
          "must": [{
            "missing": {
              "field": "test2"
            }
          }, {
            "exists": {
              "field": "test1"
            }
          }]
        }
      }
    }
  }
}
于 2013-04-11T12:23:02.293 回答