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
Описание: Принимает на вход параметр и фильтрует по булевому признаку
... | eval res=mvfilter(match(users, "user1"))
... | eval res=mvfilter(in(users, "user1", "user2", "user2"))
... | ipa={"10.22.3.2", "192.168.0.1"}, x=mvfilter(cidrmatch("10.0.0.0/8", ipa))
... | eval myval={2, 6, 8, 10}, res=mvfilter(myval > 7)
mvfind
Описание: Принимает на вход параметр и возвращает индекс первого найденного совпадения
В примере res
примет значение 2
... | eval words={"hello", "my", "world"}, res=mvfind(words, "w(.*)")
В примере res
примет значение null
... | eval words={"hello", "my", "world"}, res=mvfind(ipa, "z(.*)")
mvindex
Описание: Принимает на вход параметр и номер искомого индекса в multivalue. Возвращает значение или null
, если не найдено
В примере res
примет значение my
... | eval worlds={"hello", "my", "world"}, res=mvindex(worlds, 1)
В примере res
примет значение my
... | eval worlds={"hello", "my", "world"}, res=worlds[1]
mvjoin
Описание: Принимает на вход multivalue параметр, значение конкатинатора и возвращает строку со всеми значениями через конкатинатор
В примере res
примет значение "hello OR my OR world"
... | eval words={"hello", "my", "world"}, x=mvjoin(words, " OR ")
mvrange
Описание: Принимает на вход параметры начала, конца и интервала инкремента (опционально). Возвращает multivalue поле со списком чисел согласно заданным параметрам
В примере res
примет значение {1,2,3,4,5}
... | eval res=mvrange(1,5,1)
mvsort
Описание: Принимает multivalue параметр и выполняет внутри его сортировку
В примере res
примет значение {"hello", "my", "world"}
... | eval words={"my", "world", "hello"}, res=mvsort(words)
mvzip
Описание: Принимает multivalue параметры и выполняет конкатинацию (через запятые) значений (согласно порядку в индексе multivalue). Если у одного из multivalue параметра значений больше, чем в остальных, конкатинация по этим значениям не будет выполнена.
В примере res
примет значение {"user1,1", "user2,2"}
... | eval myVal={1,2,3}, users={"user2", "user1"}, users=mvsort(users), res=mvzip(users, myVal)
В примере res
примет значение {"user1,1", "user2,2", "user3,3"}
... | eval myVal={1,2,3}, users={"user2", "user3", "user1"}, users=mvsort(users), res=mvzip(users, myVal)
split
Описание: Принимает на вход не multivalue строковый параметр, разделитель. Возвращает multivalue поле составленное согласно разделителю
В примере res
примет значение {"hello", "my", "world"}
... | eval myVal="hello, my, world", res=split(myVal, ",")