Запрос Elasticsearch поверх агрегации, извлекающий последнее событие каждого сеанса - PullRequest
0 голосов
/ 28 июня 2018

У меня есть индекс Elasticsearch, где каждый документ соответствует событию. Каждое событие имеет свой собственный идентификатор (используется как идентификатор документа) и идентификатор сеанса. Несколько событий могут иметь один и тот же идентификатор сеанса.

Вопрос 1: В некоторых случаях я хочу выполнять поиск только поверх последнего события каждого сеанса. Это означает, что мне сначала нужно выполнить агрегацию, которая группирует события по идентификатору сеанса, а затем выбирает самый последний из каждого сегмента. Только тогда я запрашиваю результат агрегации.

Обратите внимание, что подход, описанный в https://www.elastic.co/guide/en/elasticsearch/guide/current/_scoping_aggregations.html, противоположен тому, что мне нужен, так как агрегация выполняется поверх результата запроса.

Вопрос 2: Можно ли скрыть эту логику от пользователя Kibana, т. Е. Почти как создать представление для Elasticsearch?

Ограничение: я не могу изменить способ моделирования документов.

...