小编典典

Elasticsearch让所有没有孩子的父母

elasticsearch

最初,我一直在尝试获取父母的名单以及每个父母的一个最近的孩子。我已经知道如何使用以下查询

{"query": 
  {"has_child": 
    {"inner_hits": 
      {"name": "latest", "size": 1, "sort":
        [{"started_at": {"order": "desc"}}]
      }, 
     "type": "child_type", 
     "query": {"match_all": {}}
    }
  }
}

但是问题是,结果不包括没有孩子的父母。添加min_children: 0也无济于事。所以我想我可以对所有没有孩子的父母进行查询,然后将这两个OR查询合并为一个查询。但是我在建立这样的查询时遇到了麻烦。将不胜感激任何建议。


阅读 284

收藏
2020-06-22

共1个答案

小编典典

这是您的查询:

    {
      "query":{
        "bool":{
          "should":[
            {
              "bool":{
                "must_not":[
                  {
                    "has_child":{
                      "type":"child_type",
                      "query":{
                        "match_all":{}
                      }
                    }
                  }
                ]
              }
            },
            {
              "has_child":{
                "inner_hits":{
                  "name":"latest",
                  "size":1, "sort":[{"started_at": {"order": "desc"}}]
                },
                "type":"child_type",
                "query":{
                  "match_all":{}
                }
              }
            }
          ]
        }
      }
    }
2020-06-22