Основание на official document, похоже, может сортироваться только по агрегату с одним ковшом. Как я могу сортировать результаты по 'avg' в количестве агрегации ведер?Как я могу сортировать ведра скоплений по метрическим результатам?
Я добавил 'заказ' в 'result_1' все еще не работающий. Это показывает ошибку ниже:
TransportError(500, u'search_phase_execution_exception')
Invalid terms aggregation order path [reverse>condi_range>statistic_score.avg].
Terms buckets can only be sorted on a sub-aggregator path that is built out of zero or more single-bucket aggregations within the path and a final single-bucket or a metrics aggregation at the path end.
Sub-path [reverse>condi_range] points to non single-bucket aggregation')
Ключевым моментом является то, что я должен ограничить диапазон на «float_field», а range aggregation еще один агрегацию ведра.
У кого-нибудь есть идеи?
Спасибо!
Пример кода:
{
"aggs": {
"condi_nested": {
"aggs": {
"filtered": {
"filter": {
"bool": {}
},
"aggs": {
"result_1": {
"terms": {
"field": "Foo",
"size": 100000000,
"order": {
"reverse>condi_range>statistic_score.avg": "desc"
}
},
"aggs": {
"reverse": {
"aggs": {
"condi_range": {
"range": {
"ranges": [
{
"to": 100,
"from": 0
}
],
"field": "float_field"
},
"aggs": {
"percentile_score": {
"percentiles": {
"field": "float_field"
}
},
"statistic_score": {
"extended_stats": {
"field": "float_field"
}
}
}
}
},
"reverse_nested": {}
}
}
}
}
}
},
"nested": {
"path": "nested_path_of_Foo"
}
}
}
}