我希望能够选择没有任何符合特定标准的孩子的父母。我想如果我做了:
{
"has_child": {
"max_children": 0,
"type": "event",
"filter": {
"bool": {
"must": [
{
"bool": {
"must": [
{
"term": {
"cs_e": "eventF"
}
}
],
"should": [],
"mustNot": []
}
}
],
"should": [],
"mustNot": []
}
}
}
}
然后,这将使我最多只有0个孩子的父母 - 即不匹配的父母。然而,奇怪的是,我确实从查询中获得了一个父级,并且该父级有一个匹配的子级。
这是预期的吗? (可能我搞砸了某个地方或被误解了)?
非常感谢!
答案 0 :(得分:0)
在ES 5.0"
中发现了这一点https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_50_search_changes.html
当has_child查询的max_children参数设置为0时 那么允许的子文件数量没有上限 匹配。现在,0确实意味着允许零子文档。 如果不需要上限,则max_children参数不应该 完全指定。
所以在ES> 5.0中它应该可以工作,但由于某些原因,max_children = 0确实不能在5.3.0中工作