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

multivalues

mvappend

Описание: Принимает на вход параметры через запятую и возвращает multivalue значение

Пример:

... | eval res=mvappend(users, "hello", 12, pi())

mvcount

Описание: Принимает на вход параметр и возвращает количество записей в multivalue значении

Пример:

... | stats values(user) as users | eval x=mvcount(users)

mvdedup

Описание: Принимает на вход параметр и дедуплицирует значения в multivalue поле

Пример:

... | eval res=mvappend(users, "user1", "user2"), res=mvdedup(res)

mvfilter

Описание: Принимает на вход параметр и фильтрует по булевому признаку

Пример №1
... | eval res=mvfilter(match(users, "user1"))
Пример №2
... | eval res=mvfilter(in(users, "user1", "user2", "user2"))
Пример №3
... | ipa={"10.22.3.2", "192.168.0.1"}, x=mvfilter(cidrmatch("10.0.0.0/8", ipa))
Пример №4
... | eval myval={2, 6, 8, 10}, res=mvfilter(myval > 7)

mvfind

Описание: Принимает на вход параметр и возвращает индекс первого найденного совпадения

В примере res примет значение 2

Пример №1
... | eval words={"hello", "my", "world"}, res=mvfind(words, "w(.*)")

В примере res примет значение null

Пример №2
... | eval words={"hello", "my", "world"}, res=mvfind(ipa, "z(.*)")

mvindex

Описание: Принимает на вход параметр и номер искомого индекса в multivalue. Возвращает значение или null, если не найдено

В примере res примет значение my

Пример №1
... | eval worlds={"hello", "my", "world"}, res=mvindex(worlds, 1)

В примере res примет значение my

Пример №1
... | eval worlds={"hello", "my", "world"}, res=worlds[1]

mvjoin

Описание: Принимает на вход multivalue параметр, значение конкатинатора и возвращает строку со всеми значениями через конкатинатор

В примере res примет значение "hello OR my OR world"

Пример №1
... | eval words={"hello", "my", "world"}, x=mvjoin(words, " OR ")

mvrange

Описание: Принимает на вход параметры начала, конца и интервала инкремента (опционально). Возвращает multivalue поле со списком чисел согласно заданным параметрам

В примере res примет значение {1,2,3,4,5}

Пример №1
... | eval res=mvrange(1,5,1)

mvsort

Описание: Принимает multivalue параметр и выполняет внутри его сортировку

В примере res примет значение {"hello", "my", "world"}

Пример №1
... | eval words={"my", "world", "hello"}, res=mvsort(words)

mvzip

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

В примере res примет значение {"user1,1", "user2,2"}

Пример №1
... | eval myVal={1,2,3}, users={"user2", "user1"}, users=mvsort(users), res=mvzip(users, myVal)

В примере res примет значение {"user1,1", "user2,2", "user3,3"}

Пример №2
... | eval myVal={1,2,3}, users={"user2", "user3", "user1"}, users=mvsort(users), res=mvzip(users, myVal)

split

Описание: Принимает на вход не multivalue строковый параметр, разделитель. Возвращает multivalue поле составленное согласно разделителю

В примере res примет значение {"hello", "my", "world"}

Пример №1
... | eval myVal="hello, my, world", res=split(myVal, ",")