Я хотел бы сгруппировать документы на основе группового поля G. Я использую стратегию «агрегации полей», описанную в документации Elastic, чтобы отсортировать сегменты по максимальному количеству баллов содержащихся в них документов (так называемый пример свертывания полей в Elasticdoc), например так:
{
"query": {
"match": {
"body": "elections"
}
},
"aggs": {
"top_sites": {
"terms": {
"field": "domain",
"order": {
"top_hit": "desc"
}
},
"aggs": {
"top_tags_hits": {
"top_hits": {}
},
"top_hit" : {
"max": {
"script": {
"source": "_score"
}
}
}
}
}
}
}
Этот запрос также включает в себя наибольшее количество попаданий в каждом сегменте.Если максимальная оценка не является уникальной для сегментов, я хотел бы указать столбец второго порядка.Из контекста приложения я знаю, что внутри корзины все документы имеют одинаковое значение для поля F. Поэтому это поле следует использовать в качестве столбца второго порядка.
Как я могу реализовать это в Elastic?Есть ли способ сделать поле из субагрегации с наибольшим количеством попаданий пригодным для использования во вложенной агрегации?
Есть идеи?Большое спасибо!