9
我想通过top.hit的doc.score命令桶。我目前的实施情况如下。Elasticsearch聚合排序按最高得分得分
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文档的分数。有没有办法解决这个问题?
如果你的文件正好有一个“分数”字段,你要像“最大”度量标准聚合与计算的分数工作通过elasticsearch而不是文档定义的,聚合中的脚本应该是“_score”,而不是“doc.score”。 – Shadocko 2015-02-04 11:14:55
@Shadocko是的!这相当具有误导性。感谢您的评论。我正在尝试相同的例子,现在它可以工作。 – Darby 2015-05-27 23:17:02
你知道如何用分区解决它吗?我的问题在这里 https://stackoverflow.com/questions/46484351/elasticsearch-aggregation-order-by-top-hit-score-with-partitions – KingWu 2017-09-29 08:04:23