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$) ]