Я использую kibana 4.4.1 и в elasticsearch хранить состояние компьютера, только тогда, когда изменяется состояние ПК (открытым, закрытый, Варинг и т.д.)Как агрегировать данные по полю в elasticsearch?
Моих данных в выглядит Elasticsearch как:
{ "status_id":1 , "pc":"lpt001" , "date":"2016-10-25T17:49:00Z" }
{ "status_id":3 , "pc":"lpt001" , "date":"2016-10-25T15:48:00Z" }
{ "status_id":4 , "pc":"lpt002" , "date":"2016-10-25T15:46:00Z" }
{ "status_id":1 , "pc":"lpt002" , "date":"2016-10-25T12:48:00Z" }
И я, что бы получить самую новую запись, чтобы в любое время открыть, закрыть или закрыть некоторые ПК. Мой запрос как:
GET cb-2016.10.26/_search
{
"query": {
"match_all": { }
},
"sort": [
{
"date": {
"order": "desc"
}
}
],
"aggs": {
"max_date":{
"max": {
"field": "date"
}
}
}
}
И результат:
"aggregations": {
"max_date": {
"value": 1477417680000,
"value_as_string": "2016-10-25T17:48:00.000Z"
}
}
Но что я хочу, чтобы это max_date для каждого "ПК": "lpt001", "lpt002".
Есть какой-либо способ разделить max_date на поле «pc»? Я прочитал кое-что о агрегатах ковша, но я не достиг результата.
Спасибо