Я довольно новичок в Elasticsearch и не знаю, возможно ли это.
У меня есть датчик, который отправляет значение true
/ false
каждый раз, когда его состояние изменяется вместе с отметкой временикогда это изменение произошло.Документ имеет примерно такую форму:
{
timestamp: '2019-04-08T14:00:00.000Z',
state: true
}
Ряд может выглядеть следующим образом:
[
{
timestamp: '2019-04-08T14:00:00.000Z',
state: false
},
{
timestamp: '2019-04-08T14:10:00.000Z',
state: true
},
{
timestamp: '2019-04-08T14:15:00.000Z',
state: false
},
{
timestamp: '2019-04-08T14:45:00.000Z',
state: true
}
]
Я хочу получить агрегат гистограммы, где значения каждого сегмента являются суммой временикогда state == true
.Для ряда выше, если интервал гистограммы установлен на 1 час, я ожидаю, что значение для этого часа будет 20 minutes
.(5 минут в состоянии true
, затем 15 минут в состоянии true
до верха часа)
Возможен ли этот тип агрегации непосредственно в Elasticsearch?