Перейти к основному содержимому
Версия: 5.3

outputlookup

Описание

Записывает результат поиска в таблицу (или файл) с возможностью обновления или дополнения данных. Поддерживает настройку параметров для управления процессом записи и обновления.

Синтаксис

...| outputlookup <lookup-name>  [append=<boolean>] [keyfield=<field>] [packsize=<int>] [nores=<boolean>] [system=<boolean>]

Обязательные аргументы

ПараметрСинтаксисОписание
lookup-name<lookup-name>Имя предопределенного lookup.

Опциональные аргументы

ПараметрСинтаксисПо умолчаниюОписание
appendappend=<boolean>falsetrue — дополняет существующие данные, false — игнорирует существующие данные.
keyfieldkeyfield=<field>Поле, по которому будут сопоставляться записи между таблицей (lookup) и исходными данными. Только документы с совпадающими значениями этого поля будут обновлены.
packsizepacksize=<int>100Определяет, сколько записей одновременно будет обновляться в таблице. Работает только в связке с keyfield. Используется для управления нагрузкой при обновлении большого объема данных.
noresnores=<boolean>falseПри значении true очищает результаты поиска после записи в справочник.
systemsystem=<boolean>falseПри значении true запрашивается системный лукап, в противном случае пользовательский.

Примеры запросов

Пример 1

В минимальном варианте команда записывает все найденные результаты из source radius_logs в справочник my_lookup.

source radius_logs
| outputlookup my_lookup

Пример 2

В данном примере keyfield=audit_node_host_address задает поле сопоставления, packsize=200 ограничивает размер пачки обновления, а nores=true не возвращает результаты поиска после записи.

source internal_audit*
| aggs count, latest(audit_category) as audit_category by audit_node_host_address
| outputlookup hosts_categories keyfield=audit_node_host_address packsize=200 nores=true