Агрегация Elasticseach при агрегации - PullRequest
0 голосов
/ 26 мая 2020

Я могу найти данные для гистограммы со следующей агрегацией:

GET _search
{
  "aggs": {
    "from_count": {
      "terms": {
        "field": "from_email.keyword",
      }    
    }
  },
  "size": 0
}

Итак, приведенный выше запрос дает мне массив (адрес from_email, количество) для полученных писем. Я хочу ответить на следующий вопрос , а именно: сколько людей отправили мне 1 электронное письмо, сколько отправили 2 письма, 3 письма и так далее ... со следующими оговорками:

  • Записи электронной почты, найденные в ES, находятся в диапазоне от 100000 до одного миллиона документов, а в ES существует ограничение в 10000 документов
  • Количество сегментов, созданных с помощью вышеуказанного агрегирования, намного превышает 2000 ограничение ведра

Я изо всех сил пытался придумать решение. Идея состоит в том, чтобы ответить на поставленный выше вопрос в стиле самообслуживания в Кибане. Я пробовал Vega-Lite и его агрегационные возможности в Kibana, но когда сегменты, возвращаемые запросом elasticsearch, превышают 2000 или 10000 (не уверен, какой из них) в зависимости от выбранного мной диапазона времени, я начинаю видеть, что визуальное изображение не соответствует тому, что я ожидал см.

Спасибо.

...