Spec-Zone.ru › Elasticsearch 7
›Руководство по Elasticsearch [7.17] ›Поиск EQL

Справочник по функциям EQL

Elasticsearch поддерживает следующие функции EQL.

add

Возвращает сумму двух предоставленных слагаемых.

Пример

add(4, 5)                                           // returns 9
add(4, 0.5)                                         // returns 4.5
add(0.5, 0.25)                                      // returns 0.75
add(4, -2)                                          // returns 2
add(-2, -2)                                         // returns -4

// process.args_count = 4
add(process.args_count, 5)                          // returns 9
add(process.args_count, 0.5)                        // returns 4.5

// process.parent.args_count = 2
add(process.args_count, process.parent.args_count)  // returns 6

// null handling
add(null, 4)                                        // returns null
add(4. null)                                        // returns null
add(null, process.args_count)                       // returns null
add(process.args_count null)                        // returns null

Синтаксис

add(<addend>, <addend>)

Параметры:

<addend>

(Обязательно, целое или вещественное число или null) Слагаемое для сложения. Если null, функция возвращает null.

Требуются два слагаемых. Не более двух слагаемых могут быть предоставлены.

Если в качестве аргумента используется поле, этот параметр поддерживает только типы данных поля numeric.

Возвращает: целое число, вещественное число или null

between

Извлекает подстроку, расположенную между предоставленным left и right текстом в исходной строке. Сопоставление по умолчанию чувствительно к регистру.

Пример

// file.path = "C:\\Windows\\System32\\cmd.exe"
between(file.path, "System32\\\\", ".exe")                // returns "cmd"
between(file.path, "system32\\\\", ".exe")                // returns ""
between(file.path, "workspace\\\\", ".exe")               // returns ""

// Make matching case-insensitive
between~(file.path, "system32\\\\", ".exe")               // returns "cmd"

// Greedy matching defaults to false.
between(file.path, "\\\\", "\\\\", false)                 // returns "Windows"

// Sets greedy matching to true
between(file.path, "\\\\", "\\\\", true)                  // returns "Windows\\System32"

// empty source string
between("", "System32\\\\", ".exe")                       // returns ""
between("", "", "")                                       // returns ""

// null handling
between(null, "System32\\\\", ".exe")                     // returns null

Синтаксис

between(<source>, <left>, <right>[, <greedy_matching>])

Параметры

<source>

(Обязательно, строка или null) Исходная строка. Пустые строки возвращают пустую строку (""), независимо от параметров <left> или <right>. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • text поле с подполем keyword
<left>

(Обязательно, строка) Текст слева от подстроки для извлечения. Этот текст должен включать пробелы.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • text поле с подполем keyword
<right>

(Обязательно, строка) Текст справа от подстроки для извлечения. Этот текст должен включать пробелы.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • text поле с подполем keyword
<greedy_matching>
(Необязательно, логическое значение) Если true, сопоставьте самую длинную возможную подстроку, аналогично .* в регулярных выражениях. Если false, сопоставьте самую короткую возможную подстроку, аналогично .*? в регулярных выражениях. По умолчанию false.

Возвращает: строка или null

cidrMatch

Возвращает true, если IP-адрес содержится в одном или нескольких предоставленных блоках CIDR.

Пример

// source.address = "192.168.152.12"
cidrMatch(source.address, "192.168.0.0/16")               // returns true
cidrMatch(source.address, "192.168.0.0/16", "10.0.0.0/8") // returns true
cidrMatch(source.address, "10.0.0.0/8")                   // returns false
cidrMatch(source.address, "10.0.0.0/8", "10.128.0.0/9")   // returns false

// null handling
cidrMatch(null, "10.0.0.0/8")                             // returns null
cidrMatch(source.address, null)                           // returns null

Синтаксис

`cidrMatch(<ip_address>, <cidr_block>[, ...])`

Параметры

<ip_address>

(Обязательно, строка или null) IP-адрес. Поддерживает IPv4 и IPv6 адреса. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только тип данных поля ip.

<cidr_block>
(Обязательно†[1], строка или null) Блок CIDR, который вы хотите найти. Если null, функция возвращает null.

Возвращает: логическое значение или null

concat

Возвращает склеенную строку предоставленных значений.

Пример

concat("process is ", "regsvr32.exe")         // returns "process is regsvr32.exe"
concat("regsvr32.exe", " ", 42)               // returns "regsvr32.exe 42"
concat("regsvr32.exe", " ", 42.5)             // returns "regsvr32.exe 42.5"
concat("regsvr32.exe", " ", true)             // returns "regsvr32.exe true"
concat("regsvr32.exe")                        // returns "regsvr32.exe"

// process.name = "regsvr32.exe"
concat(process.name, " ", 42)                 // returns "regsvr32.exe 42"
concat(process.name, " ", 42.5)               // returns "regsvr32.exe 42.5"
concat("process is ", process.name)           // returns "process is regsvr32.exe"
concat(process.name, " ", true)               // returns "regsvr32.exe true"
concat(process.name)                          // returns "regsvr32.exe"

// process.arg_count = 4
concat(process.name, " ", process.arg_count)  // returns "regsvr32.exe 4"

// null handling
concat(null, "regsvr32.exe")                  // returns null
concat(process.name, null)                    // returns null
concat(null)                                  // returns null

Синтаксис

concat(<value>[, <value>])

Параметры

<value>

(Обязательно†[1]) Значение для склеивания. Если какой-либо из аргументов является null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр не поддерживает тип данных поля text.

Возвращает: строка или null

divide

Возвращает частное от деления предоставленного делимого на делитель.

Если и делимое, и делитель являются целыми числами, функция divide округляет вниз любые возвращаемые числа с плавающей точкой до ближайшего целого числа. Чтобы избежать округления, преобразуйте либо делимое, либо делитель в число с плавающей точкой.

Пример

Поле process.args_count является целочисленным полем long, содержащим количество аргументов процесса.

Пользователь может ожидать, что следующий запрос EQL будет соответствовать только событиям со значением process.args_count равным 4.

process where divide(4, process.args_count) == 1

Однако запрос EQL соответствует событиям со значением process.args_count равным 3 или 4.

Для событий со значением process.args_count равным 3, функция divide возвращает число с плавающей точкой 1.333..., которое округляется вниз до 1.

Чтобы соответствовать только событиям со значением process.args_count равным 4, преобразуйте либо делимое, либо делитель в число с плавающей точкой.

Следующий запрос EQL изменяет целое число 4 на эквивалентное число с плавающей точкой 4.0.

process where divide(4.0, process.args_count) == 1

Пример

divide(4, 2)                                            // returns 2
divide(4, 3)                                            // returns 1
divide(4, 3.0)                                          // returns 1.333...
divide(4, 0.5)                                          // returns 8
divide(0.5, 4)                                          // returns 0.125
divide(0.5, 0.25)                                       // returns 2.0
divide(4, -2)                                           // returns -2
divide(-4, -2)                                          // returns 2

// process.args_count = 4
divide(process.args_count, 2)                           // returns 2
divide(process.args_count, 3)                           // returns 1
divide(process.args_count, 3.0)                         // returns 1.333...
divide(12, process.args_count)                          // returns 3
divide(process.args_count, 0.5)                         // returns 8
divide(0.5, process.args_count)                         // returns 0.125

// process.parent.args_count = 2
divide(process.args_count, process.parent.args_count)   // returns 2

// null handling
divide(null, 4)                                         // returns null
divide(4, null)                                         // returns null
divide(null, process.args_count)                        // returns null
divide(process.args_count, null)                        // returns null

Синтаксис

divide(<dividend>, <divisor>)

Параметры

<dividend>

(Обязательно, целое или вещественное число или null) Делимое. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только типы данных поля numeric.

<divisor>

(Обязательно, целое или вещественное число или null) Делитель. Если null, функция возвращает null. Это значение не может быть нулём (0).

Если в качестве аргумента используется поле, этот параметр поддерживает только типы данных поля numeric.

Возвращает: целое число, вещественное число или null

endsWith

Возвращает true, если исходная строка оканчивается предоставленной подстрокой. Сопоставление по умолчанию чувствительно к регистру.

Пример

endsWith("regsvr32.exe", ".exe")          // returns true
endsWith("regsvr32.exe", ".EXE")          // returns false
endsWith("regsvr32.exe", ".dll")          // returns false
endsWith("", "")                          // returns true

// Make matching case-insensitive
endsWith~("regsvr32.exe", ".EXE")         // returns true

// file.name = "regsvr32.exe"
endsWith(file.name, ".exe")               // returns true
endsWith(file.name, ".dll")               // returns false

// file.extension = ".exe"
endsWith("regsvr32.exe", file.extension)  // returns true
endsWith("ntdll.dll", file.name)          // returns false

// null handling
endsWith("regsvr32.exe", null)            // returns null
endsWith("", null)                        // returns null
endsWith(null, ".exe")                    // returns null
endsWith(null, null)                      // returns null

Синтаксис

endsWith(<source>, <substring>)

Параметры

END_OF_DOCUMENT_MARKER
<source>

(Required, string or null) Исходная строка. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • Поле text с подполем keyword
<substring>

(Required, string or null) Подстрока для поиска. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • Поле text с подполем keyword

Возвращает: boolean или null

indexOf

Возвращает первую позицию заданной подстроки в исходной строке. По умолчанию сопоставление регистрозависимое.

Если указана необязательная начальная позиция, эта функция возвращает первое вхождение подстроки в или после начальной позиции.

Пример

// url.domain = "subdomain.example.com"
indexOf(url.domain, "d")        // returns 3
indexOf(url.domain, "D")        // returns null
indexOf(url.domain, ".")        // returns 9
indexOf(url.domain, ".", 9)     // returns 9
indexOf(url.domain, ".", 10)    // returns 17
indexOf(url.domain, ".", -6)    // returns 9

// Make matching case-insensitive
indexOf~(url.domain, "D")        // returns 4

// empty strings
indexOf("", "")                 // returns 0
indexOf(url.domain, "")         // returns 0
indexOf(url.domain, "", 9)      // returns 9
indexOf(url.domain, "", 10)     // returns 10
indexOf(url.domain, "", -6)     // returns 0

// missing substrings
indexOf(url.domain, "z")        // returns null
indexOf(url.domain, "z", 9)     // returns null

// start position is higher than string length
indexOf(url.domain, ".", 30)    // returns null

// null handling
indexOf(null, ".", 9)           // returns null
indexOf(url.domain, null, 9)    // returns null
indexOf(url.domain, ".", null)  // returns null

Синтаксис

indexOf(<source>, <substring>[, <start_pos>])

Параметры

<source>

(Required, string or null) Исходная строка. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • Поле text с подполем keyword
<substring>

(Required, string or null) Подстрока для поиска.

Если этот аргумент null или строка <source> не содержит эту подстроку, функция возвращает null.

Если <start_pos> положительно, пустые строки ("") возвращают <start_pos>. В противном случае пустые строки возвращают 0.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • Поле text с подполем keyword
<start_pos>

(Optional, integer or null) Начальная позиция для сопоставления. Функция не будет возвращать позиции до этой. По умолчанию 0.

Позиции нумеруются с нуля. Отрицательные смещения обрабатываются как 0.

Если этот аргумент null или больше длины строки <source>, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие числовые типы данных полей:

  • long
  • integer
  • short
  • byte

Возвращает: целое число или null

length

Возвращает длину в символах заданной строки, включая пробелы и знаки препинания.

Пример

length("explorer.exe")         // returns 12
length("start explorer.exe")   // returns 18
length("")                     // returns 0
length(null)                   // returns null

// process.name = "regsvr32.exe"
length(process.name)           // returns 12

Синтаксис

length(<string>)

Параметры

<string>

(Required, string or null) Строка, для которой необходимо вернуть длину в символах. Если null, функция возвращает null. Пустые строки возвращают 0.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • Поле text с подполем keyword

Возвращает: целое число или null

modulo

Возвращает остаток от деления задаваемого делимого на делитель.

Пример

modulo(10, 6)                                       // returns 4
modulo(10, 5)                                       // returns 0
modulo(10, 0.5)                                     // returns 0
modulo(10, -6)                                      // returns 4
modulo(-10, -6)                                     // returns -4

// process.args_count = 10
modulo(process.args_count, 6)                       // returns 4
modulo(process.args_count, 5)                       // returns 0
modulo(106, process.args_count)                     // returns 6
modulo(process.args_count, -6)                      // returns 4
modulo(process.args_count, 0.5)                     // returns 0

// process.parent.args_count = 6
modulo(process.args_count, process.parent.args_count)  // returns 4

// null handling
modulo(null, 5)                                     // returns null
modulo(7, null)                                     // returns null
modulo(null, process.args_count)                    // returns null
modulo(process.args_count, null)                    // returns null

Синтаксис

modulo(<dividend>, <divisor>)

Параметры

<dividend>

(Required, integer or float or null) Делимое. Если null, функция возвращает null. Числа с плавающей точкой возвращают 0.

Если в качестве аргумента используется поле, этот параметр поддерживает только типы данных полей numeric.

<divisor>

(Required, integer or float or null) Делитель. Если null, функция возвращает null. Числа с плавающей точкой возвращают 0. Это значение не может быть нулём (0).

Если в качестве аргумента используется поле, этот параметр поддерживает только типы данных полей numeric.

Возвращает: целое число, число с плавающей точкой или null

multiply

Возвращает произведение двух заданных множителей.

Пример

multiply(2, 2)                                           // returns 4
multiply(0.5, 2)                                         // returns 1
multiply(0.25, 2)                                        // returns 0.5
multiply(-2, 2)                                          // returns -4
multiply(-2, -2)                                         // returns 4

// process.args_count = 2
multiply(process.args_count, 2)                          // returns 4
multiply(0.5, process.args_count)                        // returns 1
multiply(0.25, process.args_count)                       // returns 0.5

// process.parent.args_count = 3
multiply(process.args_count, process.parent.args_count)  // returns 6

// null handling
multiply(null, 2)                                        // returns null
multiply(2, null)                                        // returns null

Синтаксис

multiply(<factor, <factor>)

Параметры

<factor>

(Required, integer or float or null) Множитель. Если null, функция возвращает null.

Требуются два множителя. Не более двух множителей могут быть предоставлены.

Если в качестве аргумента используется поле, этот параметр поддерживает только типы данных полей numeric.

Возвращает: целое число, число с плавающей точкой или null

number

Преобразует строку в соответствующее целое число или число с плавающей точкой.

Пример

number("1337")              // returns 1337
number("42.5")              // returns 42.5
number("deadbeef", 16)      // returns 3735928559

// integer literals beginning with "0x" are auto-detected as hexadecimal
number("0xdeadbeef")        // returns 3735928559
number("0xdeadbeef", 16)    // returns 3735928559

// "+" and "-" are supported
number("+1337")             // returns 1337
number("-1337")             // returns -1337

// surrounding whitespace is ignored
number("  1337  ")          // returns 1337

// process.pid = "1337"
number(process.pid)         // returns 1337

// null handling
number(null)                // returns null
number(null, 16)            // returns null

// strings beginning with "0x" are treated as hexadecimal (base 16),
// even if the <base_num> is explicitly null.
number("0xdeadbeef", null) // returns 3735928559

// otherwise, strings are treated as decimal (base 10)
// if the <base_num> is explicitly null.
number("1337", null)        // returns 1337

Синтаксис

number(<string>[, <base_num>])

Параметры

<string>

(Обязательный, строка или null) Строка, которую нужно преобразовать в целое или дробное число. Если это значение является строкой, оно должно быть одним из следующих:

  • Строковое представление целого числа (например, "42")
  • Строковое представление дробного числа (например, "9.5")
  • Если указан параметр <base_num>, строка, содержащая целочисленную литерал в обозначении основания (например, "0xDECAFBAD" в шестнадцатеричном или base 16)

Строки, начинающиеся с 0x, автоматически распознаются как шестнадцатеричные и используют по умолчанию <base_num> в значении 16.

- и + поддерживаются без пробела. Окружающие пробелы игнорируются. Пустые строки ("") не поддерживаются.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • text поле со keyword подполем

Если этот аргумент равен null, функция возвращает null.

<base_num>

(Необязательно, целое число или null) Основание, используемое для преобразования строки. Если строка <string> начинается с 0x, этот параметр по умолчанию равен 16 (шестнадцатеричный). В противном случае он по умолчанию равен base 10.

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

Поля в качестве аргументов не поддерживаются.

Возвращает: целое или дробное число или null

startsWith

Возвращает true, если исходная строка начинается с указанной подстроки. По умолчанию сопоставление регистрозависимое.

Пример

startsWith("regsvr32.exe", "regsvr32")  // returns true
startsWith("regsvr32.exe", "Regsvr32")  // returns false
startsWith("regsvr32.exe", "explorer")  // returns false
startsWith("", "")                      // returns true

// Make matching case-insensitive
startsWith~("regsvr32.exe", "Regsvr32")  // returns true

// process.name = "regsvr32.exe"
startsWith(process.name, "regsvr32")    // returns true
startsWith(process.name, "explorer")    // returns false

// process.name = "regsvr32"
startsWith("regsvr32.exe", process.name) // returns true
startsWith("explorer.exe", process.name) // returns false

// null handling
startsWith("regsvr32.exe", null)        // returns null
startsWith("", null)                    // returns null
startsWith(null, "regsvr32")            // returns null
startsWith(null, null)                  // returns null

Синтаксис

startsWith(<source>, <substring>)

Параметры

<source>

(Обязательный, строка или null) Исходная строка. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • text поле со keyword подполем
<substring>

(Обязательный, строка или null) Подстрока, которую нужно найти. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • text поле со keyword подполем

Возвращает: логическое значение или null

string

Преобразует значение в строку.

Пример

string(42)               // returns "42"
string(42.5)             // returns "42.5"
string("regsvr32.exe")   // returns "regsvr32.exe"
string(true)             // returns "true"

// null handling
string(null)             // returns null

Синтаксис

string(<value>)

Параметры

<value>

(Обязательный) Значение, которое нужно преобразовать в строку. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр не поддерживает text тип данных поля.

Возвращает: строка или null

stringContains

Возвращает true, если исходная строка содержит указанную подстроку. По умолчанию сопоставление регистрозависимое.

Пример

// process.command_line = "start regsvr32.exe"
stringContains(process.command_line, "regsvr32")  // returns true
stringContains(process.command_line, "Regsvr32")  // returns false
stringContains(process.command_line, "start ")    // returns true
stringContains(process.command_line, "explorer")  // returns false

// Make matching case-insensitive
stringContains~(process.command_line, "Regsvr32")  // returns false

// process.name = "regsvr32.exe"
stringContains(command_line, process.name)        // returns true

// empty strings
stringContains("", "")                            // returns false
stringContains(process.command_line, "")          // returns false

// null handling
stringContains(null, "regsvr32")                  // returns null
stringContains(process.command_line, null)        // returns null

Синтаксис

stringContains(<source>, <substring>)

Параметры

<source>
(Обязательный, строка или null) Исходная строка для поиска. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • text поле со keyword подполем

    <substring>
    (Обязательный, строка или null) Подстрока для поиска. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только следующие типы данных полей:

  • Тип из семейства keyword
  • text поле со keyword подполем

Возвращает: логическое значение или null

substring

Извлекает подстроку из исходной строки по указанным начальным и конечным позициям.

Если конечная позиция не указана, функция извлекает оставшуюся часть строки.

Пример

substring("start regsvr32.exe", 6)        // returns "regsvr32.exe"
substring("start regsvr32.exe", 0, 5)     // returns "start"
substring("start regsvr32.exe", 6, 14)    // returns "regsvr32"
substring("start regsvr32.exe", -4)       // returns ".exe"
substring("start regsvr32.exe", -4, -1)   // returns ".ex"

Синтаксис

substring(<source>, <start_pos>[, <end_pos>])

Параметры

<source>
(Обязательный, строка) Исходная строка.
<start_pos>

(Обязательный, целое число) Начальная позиция для извлечения.

Если эта позиция больше, чем <end_pos> позиция или длина <source> строки, функция возвращает пустую строку.

Позиции нумеруются с нуля. Поддерживаются отрицательные смещения.

<end_pos>

(Необязательный, целое число) Исключительная конечная позиция для извлечения. Если эта позиция не указана, функция возвращает оставшуюся часть строки.

Позиции нумеруются с нуля. Поддерживаются отрицательные смещения.

Возвращает: строка

subtract

Возвращает разницу между заданным уменьшаемым и вычитаемым.

Пример

subtract(10, 2)                                          // returns 8
subtract(10.5, 0.5)                                      // returns 10
subtract(1, 0.2)                                         // returns 0.8
subtract(-2, 4)                                          // returns -8
subtract(-2, -4)                                         // returns 8

// process.args_count = 10
subtract(process.args_count, 6)                          // returns 4
subtract(process.args_count, 5)                          // returns 5
subtract(15, process.args_count)                         // returns 5
subtract(process.args_count, 0.5)                        // returns 9.5

// process.parent.args_count = 6
subtract(process.args_count, process.parent.args_count)  // returns 4

// null handling
subtract(null, 2)                                        // returns null
subtract(2, null)                                        // returns null

Синтаксис

subtract(<minuend>, <subtrahend>)

Параметры

<minuend>

(Обязательный, целое или дробное число или null) Уменьшаемое, из которого вычитается значение.

Если в качестве аргумента используется поле, этот параметр поддерживает только numeric типы данных полей.

<subtrahend>

(Необязательный, целое или дробное число или null) Вычитаемое. Если null, функция возвращает null.

Если в качестве аргумента используется поле, этот параметр поддерживает только numeric типы данных полей.

Возвращает: целое, дробное число или null

wildcard

Устарело в 7.13.0.

Функция wildcard устарела. Используйте ключевое слово like или regex вместо нее.

Возвращает true, если исходная строка соответствует одному или нескольким указанным выражениям с подстановкой. По умолчанию сопоставление регистрозависимое.

Пример

// The * wildcard matches zero or more characters.
// process.name = "regsvr32.exe"
wildcard(process.name, "*regsvr32*")                // returns true
wildcard(process.name, "*Regsvr32*")                // returns false
wildcard(process.name, "*regsvr32*", "*explorer*")  // returns true
wildcard(process.name, "*explorer*")                // returns false
wildcard(process.name, "*explorer*", "*scrobj*")    // returns false

// Make matching case-insensitive
wildcard~(process.name, "*Regsvr32*")                // returns true

// The ? wildcard matches exactly one character.
// process.name = "regsvr32.exe"
wildcard(process.name, "regsvr32.e?e")                  // returns true
wildcard(process.name, "regsvr32.e?e", "e?plorer.exe")  // returns true
wildcard(process.name, "regsvr32.exe?")                 // returns false
wildcard(process.name, "e?plorer.exe")                  // returns false
wildcard(process.name, "e?plorer.exe", "scrob?.dll")    // returns false

// empty strings
wildcard("", "*start*")                             // returns false
wildcard("", "*")                                   // returns true
wildcard("", "?")                                   // returns false
wildcard("", "")                                    // returns true

// null handling
wildcard(null, "*regsvr32*")                        // returns null
wildcard(process.name, null)                        // returns null

Синтаксис

wildcard(<source>, <wildcard_exp>[, ...])

Параметры

<source>

(Обязательный, строка) Исходная строка. Если null, функция возвращает null.

При использовании поля в качестве аргумента, этот параметр поддерживает только следующие типы данных поля:

  • Тип из семейства keyword
  • Поле text с подполем keyword
<wildcard_exp>

(Обязательный†[1], строка) Выражение с подстановкой, используемое для сопоставления исходной строки. Подстановка * соответствует нулю или более символам. Подстановка ? соответствует ровно одному символу.

Если null, функция возвращает null. Поля не поддерживаются в качестве аргументов.

Возвращаемое значение: boolean

[1] Этот параметр принимает несколько аргументов.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/eql-function-ref.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API