我需要从每个value
中获取最大name
的项目,并重复直到结束。
我将通过一个简单的示例对其进行解释。我有这样的物品:
Name| Value
-----------
AAA | 12
AAA | 35
AAA | 5
BBB | 1
BBB | 10
BBB | 5
排序后的预期结果:
Name| Value
-----------
AAA | 35
BBB | 10
AAA | 12
BBB | 5
AAA | 5
BBB | 1
我知道如何在Postgres中执行此操作(窗口函数:
rank() over()
),但是在Elastic中有可能吗? 最佳答案
这是例子
GET /yourindex/_search
{
"size": 0
"aggs": {
"yourGroup": {
"terms": {
"field": "Name",
"size": 10
},
"aggs": {
"theMax": {
"max": {
"field": "Value"
}
}
}
}
}
}
引用:- this
关于sorting - Elasticsearch排序: by one from each group and repeat,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51239007/