У меня есть документы в Elasticsearch, представляющие события, которые имеют временную метку, например:
"_source": {
... // other stuff
"eventDate": 1500400000000 // milliseconds since epoch
}
Допустим, у меня есть события на следующие времена:
...|.|.....||.|.|...|..|.....
Я хочу сгруппироватьэто как промежутки времени, если дискретные события находятся в пределах определенного расстояния (введите в мой запрос):
...|.|.....||.|.|...|..|.....
└──┘ └─────┘ └───┘
d=4 d=7 d=5
Затем я хочу добавить общую продолжительность и сосчитать группы:
total duration = 16
count = 3
Очевидно, я упростил этот пример, сделав его очень дискретным графиком, но события могут произойти в любой момент времени.Расстояние до группы может быть установлено во время создания, но предпочтительно во время запроса.
За прошедшие годы я кое-что сделал с Elasticsearch, но в основном это были простые фильтры и запросы, и это япросто пока не знаю, как подойти, надеясь, что вы все подтолкнете меня.