У меня есть объекты, некоторые из которых сгруппированы по «masterID». Мне нужен агрегирование/запрос, который показывает мне как результат с наивысшей «релевантностью» для каждой группы объектов по «masterID».Объединение скоплений в упругом поиске
С агрегированием термина «masterID» я могу получить ведра для каждого «masterID». Но как мне получить самый высокий объект «релевантности» в каждом ведре?
Запросы до сих пор являются:
curl -XGET 'http://localhost:9200/pwo/_search?search_type=count&size=0&pretty=true' -d '{
"aggregations": {
"masterIDs": {
"terms": {
"field": "masterID",
"size": 0
}
}
}
}
'
и
curl -XGET 'http://localhost:9200/pwo/_search?size=0&pretty=true' -d '{
"aggregations": {
"relevance": {
"max": {
"field": "relevance"
}
}
}
}
'
Есть ли способ решить эту проблему с помощью одного запроса?
Да! вы можете добавить блок агрегации «релевантности» в блоке «masterIDs» – eliasah
Спасибо, это сработало нормально. Любой способ вставить поле '_id' объекта с максимальной «релевантностью» на выход? – TeTeT
Кажется, что работает с агрегацией top_hits, добавленной к агрегации релевантности. – TeTeT