OpenSearch возвращает результаты на основе поля в нескольких индексах

У меня есть индекс, содержащий уязвимые зависимости и их статус в репозиториях. Я не хочу удалять предупреждения, когда они устранены, так как я также хочу регистрировать, что уязвимость была исправлена.

Однако это означает, что я получаю некоторые данные, с которыми я не уверен, что было бы лучше всего обработать.

Вот упрощенный пример того, как выглядят мои данные

Всего создано 5 предупреждений об уязвимостях. 2 из них уже решены. Теперь - что я хочу сделать, так это показать текущий статус. У нас еще есть 3 активные уязвимости. Как мне показать только 3 соответствующие строки? (1, 4 и 7)

Имейте в виду, что я все еще новичок в использовании ELK/OpenStack, поэтому я не знаю, лучше ли это решить с помощью запросов или фильтров, или это поможет разделить на несколько индексов.

1 ответ

Я бы сказал, что самым простым способом было бы поддерживать 2 индекса: один для actionsс тем, что у вас есть в таблице выше, и один с vulnerabilitiesи текущий статус. Поэтому всякий раз, когда вы создаете действие, вы также должны создавать документ об уязвимости с status == "created"и когда вы создаете действие, которое не "created"вы будете update_by_query этот документ установить status = "resolved". Тогда ваш запрос станет очень простым.

Альтернативой может быть использование сворачивания , но, по моему опыту, его поведение довольно запутанно, когда вы пытаетесь разбить на страницы или агрегировать результаты.

Другие вопросы по тегам