У меня есть документы с полями account_id (первичный ключ для моей реляционной базы данных) и статусом. Всякий раз, когда происходит изменение статуса учетной записи, я отправляю событие в ElasticSearch.
Таким образом, в течение определенного периода времени будет несколько документов для учетной записи с разными статусами.
Мое требование состоит в том, чтобы получить последний документ для каждого account_id и сделать подсчет с точки зрения статуса.
Эквивалент SQL «выбрать статус, количество (*) из группы учетных записей по статусу;»
Пример: рассмотреть следующие журналы
account_id: 1, status:delete, @timestamp: November 4th 2017, 18:42:09.445
account_id: 1, status:save, @timestamp: November 3rd 2017, 18:42:09.445
account_id: 1, status:draft, @timestamp: November 2nd 2017, 19:42:09.445
account_id: 2, status:draft, @timestamp: November 3rd 2017, 19:42:09.445
account_id: 3, status:save, @timestamp: November 4th 2017, 18:42:09.445
account_id: 3, status:draft, @timestamp: November 3rd 2017, 19:42:09.445
Вывод должен быть:
**status** **count**
delete 1
save 1
draft 1
Лось: 5,6