Параллельные запущенные события при определенной гранулярности с эластичным поиском - PullRequest
0 голосов
/ 04 апреля 2019

В моем индексе несколько миллионов рабочих мест. В качестве атрибутов они имеют start_time, end_time и id. Задания имеют случайное время выполнения.

[
    {id: 1, start_time: "2019-01-01 00:00:00" , end_time: "2019-01-01 01:00:00"},
    {id: 2, start_time: "2019-01-01 00:30:00" , end_time: "2019-01-01 01:30:00"},
    {id: 3, start_time: "2019-01-01 00:30:00" , end_time: "2019-01-01 02:00:00"},
    {id: 4, start_time: "2019-01-01 02:30:00" , end_time: "2019-01-01 03:00:00"},
]

Мне нужен способ создания отчета, показывающего максимальное общее количество заданий, запущенных для указанной степени детализации.

Например, для 30-минутного интервала результат будет выглядеть так:

"2019-01-01 00:00:00": 1
"2019-01-01 00:30:00": 3
"2019-01-01 01:00:00": 3
"2019-01-01 01:30:00": 1
"2019-01-01 02:00:00": 0
"2019-01-01 02:30:00": 1
"2019-01-01 03:00:00": 0

Кажется, я не могу найти способ объединить данные в упругом поиске, чтобы сделать это. Я смотрю неправильно на это? Есть ли лучший способ сохранить эти данные в индексе?

...