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

map

Описание

Выполняет поисковый запрос для каждого входящего события.

Синтаксис

map <subsearch> [<maxsearches>]

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

ПараметрСинтаксисОписание
<subsearch>[ subsearch ]Запрос должен быть включен в квадратные скобки и начинаться с указания источника (source, script, makeresults и т.д.).
к сведению

Поля, названия которых написаны в долларах ($<field>$), будут заменены на соответствующие значения из входных событий.

осторожно

Если название поля будет передано как строка (в двойных кавычках), то значение не будет подставлено.

...
| eval res = "$my_field$"

В данном примере $my_field$ не будет заменено на значение из входных данных.


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

ПараметрСинтаксисПо умолчаниюОписание
<maxsearches>maxsearches=<int>10Максимальное число поисковых запросов.
предупреждение

Значение maxsearches=0 не даст неограниченный поиск.


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

Пример 1

В данном примере maxsearches=3 ограничивает выполнение подзапроса первыми тремя входящими событиями из math_logs. Внутри подзапроса значение $host_name$ подставляется из текущего события в переменную res.

source math_logs
| map maxsearches=3
[source tweets
| eval res = $host_name$ ]

Пример 2

В данном примере map выполняет подзапрос для каждого события, а затем where оставляет только строки, где res совпадает с нужным значением.

source math_logs
| map
[source tweets
| eval res = $host_name$ ]
| where res == "host121"

Пример 3

В данном примере в подзапрос подставляется multivalue-поле $index$, а функция mvcount считает количество его значений.

source tweets8 qsize=1
| map
[source math_logs | eval res = mvcount($index$) ]