我想按TOP_HIT的DOCK.SCORE订购桶。我目前的实现如下所示。
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
}
}
}
}
这是错误的,因为存储桶是根据它们的最高分数进行排序的,而不是它们最高的SOURCE_PRIORITY文档的分数。有没有办法解决这个问题?
1条答案
按热度按时间eanckbw91#
我也有同样的问题,我解决这个问题的方法是在文档分数上引入一个子聚合。然后,在我的外部聚合中,我按max_core聚合的名称进行了排序。
GET /my-index/my-type/_search
我按照这个链接上的说明操作:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html