我遇到“内部点击”功能的问题。我只能获得一种类型的子对象,因为I have to specify是查询的子对象类型。
例如,我可以使用以下代码
成功获取所有父对象及其“ChildA”对象{
"query": {
"has_child": {
"type": "ChildA",
"query": {
"match_all": {}
},
"inner_hits": {}
}
}
}
是否可以同时获取ChildA和ChildB对象?
答案 0 :(得分:3)
您可以使用has_child
查询将多个inner_hits
查询与bool
结合使用。例如,如果你想找到所有拥有" ChildA"或者#B; ChildB"然后返回他们拥有的所有孩子(无论是ChildA还是ChildB或两者),你可以做这样的事情:
"query": {
"bool": {
"should": [
{
"has_child": {
"type": "ChildA",
"query": {
"match_all": {}
},
"inner_hits": {}
}
},
{
"has_child": {
"type": "ChildB",
"query": {
"match_all": {}
},
"inner_hits": {}
}
}
]
}
}