我有两种文档类型,组和项,它们通过父子映射相关联。我试图编写一个返回两者的查询:
所以结果看起来像是:
1. item
2. group of 12 items
3. item
4. item
5. item
6. group of 34 items
7. item
伪查询如下所示:
{
"bool": {
"should": [
query_for_items_in_groups_of_fewer_than_10,
query_for_groups_with_10_or_more_items
]
}
}
我按照预期工作,但速度很慢:
{
"bool": {
"should": [
{
"has_child": {
"type": "item",
"min_children": 10,
"query": SOME_QUERY
}
},
{
"filtered": {
"query": SOME_QUERY,
"filter": {
"not": {
"has_parent": {
"type": "group",
"query": {
"has_child": {
"type": "item",
"min_children": 10,
"query": SOME_QUERY
}
}
}
}
}
}
}
]
}
}
有更高效的方法吗?或者也许我可以采取一种完全不同的方法来分组项目?