ELK/Lucene - выбирать события по отсутствию другого события

У меня есть функция Lambda в AWS, которая сообщает журналы экземпляру ELK. Каждый вызов лямбда-функции генерирует уникальный invocation_id, который отправляется с каждым событием журнала, поэтому события из одного вызова могут быть идентифицированы в ELK. В конце операции я отправляю событие «Готово».

Лямбда-функция может завершиться ошибкой или тайм-аутом, после чего событие "Готово" не отправляется.

Я хочу создать запрос, чтобы показать все вызовы, которые не имеют события «Готово». Параллель SQL может быть:

select invocation_id
from events
where invocation_id not in (select invocation_id
                            from events
                            where event_type = 'Done'
                            group by invocation_id)
group by invocation_id

Я знаю, что в ElasticSearch нет «подзапросов», но, может быть, есть другой способ сделать это?


ИЗМЕНИТЬ:

Я пробую другой подход, посмотрите здесь: Фильтр Logstash: совокупность - автоматическое сохранение по тайм-ауту


person Malki    schedule 13.04.2016    source источник
comment
Я думаю, вам нужно использовать два запроса для этого.   -  person Andrei Stefan    schedule 13.04.2016
comment
Можете ли вы предоставить некоторую информацию о вашей структуре индекса?   -  person Michael Stockerl    schedule 13.04.2016
comment
@MichaelStockerl У меня нет явных определений индексов, я использую внешний ELK SaaS и просто добавляю туда все свои журналы. Предполагается, что они сами обрабатывают индексацию как часть службы. Могу ли я что-то сделать с определением индекса, чтобы решить мою проблему?   -  person Malki    schedule 13.04.2016
comment
Ах, у меня может быть решение для родительского/дочернего индекса, но я думаю, что у вас не будет такого индекса... Извините :(   -  person Michael Stockerl    schedule 13.04.2016