Упругости поиск агрегации для сортировки по соотношению агрегации
У меня есть сценарий в аналитике, где я хочу рассчитать наименьшую производительность 20 торговых точек из 1000+ торговых точек, где performance = transactionCount/ VisitCount
в месяц на выходе.
Отображения есть,
{
"CustomerVisit": {
"properties": {
"outlet": {
"type": "string",
"index": "not_analyzed"
},
"customerName": {
"type": "string",
"index": "not_analyzed"
},
"visitMonth": {
"type": "Date"
},
"visit": {
"type": "nested",
"properties": {
"visitStatus": {
"type": "long"
},
"transactionStatus": {
"type": "long"
},
"remarks": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
Теперь то, что я хочу, - это агрегирование таким образом, чтобы дать мне 20 торговых точек из 1000+, отсортированных по соотношению агрегации visitStatus и агрегации транзакции Status.
Я не мог найти способ решить это, используя aggs
Я не знаю, может ли скрипт быть реализован здесь. Грубое решение, которое я собирался реализовать, было
- агрегировать по наименьшему количеству транзакций Count, получить 20 сегментов (с именами / счетами торговых точек) [один запрос выполнен]
агрегировать по количеству посещений для более 20 торговых точек [другой запрос]
разделить count1 на count2, чтобы получить соотношение
Но это никогда не даст мне правильного результата, потому что я сортирую по количеству транзакций, а не по соотношению транзакций / посещений.