我想根据热门点击聚合中第一个元素所拥有的属性从术语聚合中订购存储桶。
我的最大努力查询看起来像这样(有语法错误):
{
"aggregations": {
"toBeOrdered": {
"terms": {
"field": "parent_uuid",
"size": 1000000,
"order": {
"topAnswer._source.id": "asc"
}
},
"aggregations": {
"topAnswer": {
"top_hits": {
"size": 1
}
}
}
}
}
}
有谁知道如何做到这一点?
例子:
{
"a":1,
"b":2,
"id":4
}
{
"a":1,
"b":3,
"id":1
}
{
"a":2,
"b":4,
"id":3
}
按“a”分组并按“id”(desc)对存储桶排序并在“b”(desc)上排序最高命中将给出:
{2:{
"a":2,
"b":4,
"id":3
},1:{
"a":1,
"b":3,
"id":1
}}