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

search

Описание

Выполняет поиск по данным.

осторожно

Использование search в запросе допустимо в случае, если перед ней находятся только команды, также работающие с внутренними механизмами хранилища. К ним относятся source и peval. Это условие должно выполняться и для всех подзапросов в запросе.

Синтаксис

search <mode> <compare>

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

ПараметрСинтаксисОписание
compare<field> > | >= | == | < | <= | != <field> | <value> | <search_in>Условная операция для сравнения данных.

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

ПараметрСинтаксисПо умолчаниюОписание
mode(|regex|wildcard|cidr)Режим поиска: regex поиск по регулярному выражению; wildcard поиск с использованием подстановочных символов * и ?; cidr поиск по маске подсети.

Режим поиска

  • regex - поиск по регулярному выражению
  • wildcard - поиск с использованием подстановочных символов * и ?
  • cidr - поиск по маске подсети
  • text - поиск по текстовому полю (используется, если включена настройка автоподстановки keyword)
подсказка

Если между условиями нет оператора, то по умолчанию используется оператор AND.

Значение (<value>) можно указывать без двойных кавычек, если в нем нет разделителей или специальных символов.

к сведению

По умолчанию поиск по регулярному выражению regex является регистронезависимым. Для добавления чувствительности к регистру при поиске по регулярному выражению необходимо использовать параметр sens в поисковом запросе.

Search in

СинтаксисОписание
<field> in (<value>, <value>)Конструкция search in позволяет выполнять поиск событий, значение поля <field> которых равно одному из перечисленных значений <value>.
подсказка

В значениях <value> можно использовать * для wildcard поиска.

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

Пример 1

В этом примере будет выполнен поиск документов, где поле user содержит значение Ivanov или значение, начинающееся с Mar.

Пример №1
...
| search user=Ivanov OR user="Mar*"

Пример входных документов:

user
Ivanov
Maria
Petrov
John
mary

Результатом выполнения запроса может быть следующая таблица:

user
Ivanov
Maria
mary

Пример 2

В этом примере будет выполнен поиск документов, где значение поля count_result равно 5, значение поля nick начинается с Iv и значение поля mail начинается с iv*.

Пример №2
...
| search count_result=5 AND nick="Iv*" mail="iv*"

Пример входных документов:

nickmailcount_result
Ivanovivanov@example.com5
Ivyivy123@example.com4
ivan123ivan@example.com5

Результатом выполнения запроса может быть следующая таблица:

nickmailcount_result
Ivanovivanov@example.com5

Пример 3

В этом примере будет выполнен поиск документов, где поле score больше или равно 5, а поле status не равно active.

Пример №3
...
| search score>=5 AND NOT status="active"

Пример входных документов:

userstatusscore
Ivanovactive5
Mariainactive4
Annainactive11

Результатом выполнения запроса может быть следующая таблица:

nickmailcount_result
Annainactive11

Пример 4

В этом примере будет выполнен поиск документов, где поле place соответствует Hotel или Motel по регулярному выражению regex.

Пример №4
...
| search regex place.keyword="(Ho|Mo)tel"

Пример входных документов:

place
Hotel
motel

Результатом выполнения запроса может быть следующая таблица:

place
Hotel

Пример 5

В этом примере будет выполнен поиск документов, где поле name начинается с An, за которым следует li и ровно один любой символ.

Пример №5
...
| search wildcard name="An*li?"

Пример входных документов:

user
Anna
Anatoly
Anzli
Annalisa
Anli

Результатом выполнения запроса может быть следующая таблица:

user
Anzli
Annalisa
Anli

Пример 6

В этом примере будет выполнен поиск документов, где IPv4-адрес в поле host входит в подсеть 10.78.0.0/16.

Пример №6
...
| search cidr host="10.78.0.0/16"

Пример входных документов:

host
10.78.1.23
192.168.1.1
2001:0db8::1

Результатом выполнения запроса может быть следующая таблица:

host
10.78.1.23

Пример 7

В этом примере будет выполнен поиск документов, где IPv6-адрес в поле host входит в подсеть 2001::/4.

Пример №7
...
| search cidr host="2001::/4"

Пример входных документов:

host
2001:0db8::1
fe80::1
3000::1
2002:aabb::1234

Результатом выполнения запроса может быть следующая таблица:

host
2001:0db8::1
2002:aabb::1234

Пример 8

В этом примере будет выполнен поиск документов, где значение поля user равно Ivanov или начинается с Mar.

Пример №8
...
| search user in (Ivanov, "Mar*")

Пример входных документов:

| | user | | -| | Ivanov | | Maria | | Petrov | | Ivanova | | John | | mary |

Результатом выполнения запроса может быть следующая таблица:

user
Ivanov
Maria
mary