7

我有一个看起来像这样的查询:

{
  "query": {
    "constant_score": 
      "filter": {
        "missing": {
          "field": "parent_id"
        }
      }
  }
},
"size": limit,
"from": offset
}

我的类型有一个parent_id和一个wall_id字段。如何修改此查询,以便我可以获得所有没有 aparent_id和没有 a 的类型wall_id?我似乎无法从文档中破译它。感谢您提供的任何帮助!

更新

我有以下有效的查询,但我不喜欢query标题上的包罗万象。有没有办法做到这一点而不必添加“笼统”?

{
  "query":{
  "filtered":{
     "query":{
        "field":{ "title":"*" }
     },
     "filter":{
        "and":{
           "filters":[
              {
                 "missing":{ "field":"parent_id" }
              },
              {
                 "missing":{ "field":"wall_id" }
              }
           ]
        }
     }
  }
 }, "size":10, "from":0
}
4

1 回答 1

7

你快到了,你只需要在你的查询and下使用过滤器:constant_score

{
  "query": {
    "constant_score": {
      "filter": {
        "and":[
          { "missing":{ "field":"parent_id" }},
          { "missing":{ "field":"wall_id" }}
        ]
      }
    }
  }
}
于 2011-11-29T13:59:55.530 回答