В настоящее время я сортировочные агрегирование по документу счета, поэтому большинство соответствующих пункты приходят первые в списке агрегации, как показано ниже:Elasticsearch два уровня сортировка в списке агрегации
{
'aggs' : {
'guilds' : {
'terms' : {
'field' : 'guilds.title.original',
'order' : [{'max_score' : 'desc'}],
'aggs' : {
'max_score' : {
'script' : 'doc.score'
}
}
}
}
}
}
Я хочу добавить еще один вариант сортировки в заказ условия массив в моем JSON. но когда я делаю это вот так:
{
'order' : [{'max_score' : 'desc'}, {"_count" : "desc"},
}
Второй вид не работает. Например, когда все баллы равны, он должен сортировать по запросу, но он не работает.
Andrei - попробовав то, что вы предлагаете выше, я обнаружил, что ES просто выполняет упорядочение на основе последнего элемента в элементе «order». По моему сценарию, я хочу заказать в поле «ранг» (в котором будут «связи» между терминами), которые затем я хочу подсортировать в них по лучшим средним значениям doc. Какой бы из этих двух «заказов» я не указывал последний, это то, что он использовал. Я не вижу никакого способа подзаголовки. –
@ThomasDoman: У меня точно такая же проблема - упорядочение происходит на основе последнего элемента в списке. Вы нашли решение проблемы? Благодаря ! – UD1989
@ UD1989 - Я уверен, что мой ответ ниже в виде исправления ответа Андрея. Обязательно поддержите его, спасибо! –