Медленная агрегация top_hits
У меня очень простая агрегация top_hits, но она работает плохо, если в наборе результатов слишком много обращений (дополнительная секунда или около того по сравнению с поиском, который возвращает плоский набор совпадений с примерно миллионом обращений). Вот запрос.
{
"aggs": {
"hits": {
"aggs": {
"children": {
"top_hits": {
"_source": "preview",
"size": 3
}
},
"top_score": {
"max": {
"script": "_score"
}
}
},
"terms": {
"field": "rollupId",
"size": 10,
"order": {
"top_score": "desc"
}
}
}
},
"query": {
"multi_match": {
"query": "states",
"fields": [
"title^3",
"nameText^2.5",
"placeText^2",
"allText"
],
"type": "cross_fields",
"operator": "and"
}
},
"from": 0,
"size": 0
}
Я только хочу 10 результатов, каждый из которых имеет только 3 попадания. Почему это так медленно?