GET myIndex/_search
{
"from": 0,
"size": 0,
"query": {
"bool": {
"must": [
{
"term": {
"user_id": {
"value": "a88604b0",
"boost": 1
}
}
},
{
"term": {
"entity_status.keyword": {
"value": "ACTIVE",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"sort": [
{
"txn_date": {
"order": "desc"
}
}
],
"aggs": {
"my_buckets": {
"composite": {
"sources": [
{
"group_by": {
"terms": {
"field": "category"
}
}
}
]
},
"aggs": {
"total_amount": {
"sum": {
"field": "amount"
}
}
}
}
}
}
Я выполняю вышеуказанный запрос, но хочу, чтобы агрегаты были отсортированы по субагрегации total_amount
в порядке убывания. Какие-либо модификации или другие способы достижения этого?
Вот результат вышеуказанного запроса.
{
"took" : 3,
"timed_out" : false,
"_shards" : {
"total" : 4,
"successful" : 4,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 22,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"my_buckets" : {
"after_key" : {
"group_by" : "Travel"
},
"buckets" : [
{
"key" : {
"group_by" : "Bills"
},
"doc_count" : 2,
"total_amount" : {
"value" : 86710.44
}
},
{
"key" : {
"group_by" : "Grocery"
},
"doc_count" : 1,
"total_amount" : {
"value" : 43355.22
}
},
{
"key" : {
"group_by" : "Fashion"
},
"doc_count" : 5,
"total_amount" : {
"value" : 216776.1
}
},
{
"key" : {
"group_by" : "Recharge"
},
"doc_count" : 7,
"total_amount" : {
"value" : 303486.54
}
},
{
"key" : {
"group_by" : "Shopping"
},
"doc_count" : 2,
"total_amount" : {
"value" : 86710.44
}
},
{
"key" : {
"group_by" : "Travel"
},
"doc_count" : 5,
"total_amount" : {
"value" : 216776.1
}
}
]
}
}
}
Я хочу, чтобы агрегаты были отсортированы в соответствии с total_amount
.