Elasticsearch aggregation order by top hit score
问题 I want to order buckets by doc.score of top_hit. My current implementation is below. group_by_iid: { terms: { field: 'iid', order: { max_score: 'desc' }, size: 0 }, aggs: { max_score: { max: { script: 'doc.score' } }, top_hit: { top_hits: { sort: [{ source_priority: { order: 'desc' } }], size: 1 } } } } This is wrong because buckets are ordered by their top score, not their top source_priority document's score. Is there a way to solve this problem? 回答1: I had the same issue, and the way I