У меня есть эластичный индекс, в котором есть документы для истории состояния пользователя. Данные выглядят так;
{
"session_id": "yunus",
"state_name": "start",
"entry_time": "2016-11-09 15:27:03"
},
{
"session_id": "yunus",
"state_name": "end",
"entry_time": "2016-11-09 16:30:00"
},
{
"session_id": "can",
"state_name": "start",
"entry_time": "2016-11-09 12:01:00"
},
{
"session_id": "rick",
"state_name": "start",
"entry_time": "2016-11-09 09:00:00"
},
{
"session_id": "rick",
"state_name": "end",
"entry_time": "2016-11-10 10:00:00"
}
Я хочу агрегировать по имени состояния с гистограммой даты, но только для актуального последнего состояния в то время. Так что результат может быть;
2016-11-08
start = 0
end = 0
2016-11-09
start = 2
end = 1
2016-11-10
start = 1
end = 2
На самом деле план состоит в том, чтобы создать сгруппированную гистограмму с временной шкалой, чтобы показать изменение состояний с течением времени.
Я попробовал несколько вещей, таких как конвейеры агрегации, лучшие хиты, но не смог добиться никакого прогресса.
Любая помощь приветствуется.