gpt4 book ai didi

search - Elasticsearch 聚合列表中的二级排序

转载 作者:行者123 更新时间:2023-11-29 02:50:47 29 4
gpt4 key购买 nike

目前我按文档分数对聚合进行排序,因此大多数相关项目在聚合列表中排在第一位,如下所示:

{
'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 的回答的更正……要按多个条件对聚合进行排序,您必须创建一个数组,如 Terms Aggregation: Order 中所示。并且您必须使用 ElasticSearch 1.5 或更高版本。

因此,对于 Andrei 的回答,更正为:“顺序”:[{“max_score”:“desc”},{“_count”:“desc”}]

正如 Andrei 所说,ES 不会提示,但它会使用“order”元素中列出的最后一项。

关于search - Elasticsearch 聚合列表中的二级排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26400307/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com