Упругости поиск агрегации для сортировки по соотношению агрегации

У меня есть сценарий в аналитике, где я хочу рассчитать наименьшую производительность 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Я не знаю, может ли скрипт быть реализован здесь. Грубое решение, которое я собирался реализовать, было

  1. агрегировать по наименьшему количеству транзакций Count, получить 20 сегментов (с именами / счетами торговых точек) [один запрос выполнен]
  2. агрегировать по количеству посещений для более 20 торговых точек [другой запрос]

  3. разделить count1 на count2, чтобы получить соотношение

Но это никогда не даст мне правильного результата, потому что я сортирую по количеству транзакций, а не по соотношению транзакций / посещений.

0 ответов

Другие вопросы по тегам