Вопрос: Я использую экран поиска по умолчанию Splunk UI, в котором у меня есть поиск, содержащий поле категориальных значений (например, имен хостов), которые я хотел бы преобразовать в числа. Пока что единственное решение, которое я нашел, - это использовать комбинацию eval-case для идентификации и преобразования каждого имени. Это прекрасно работает, если у вас есть небольшой конечный список имен. У моего поля есть неопределенное количество имен, и я хочу избегать использования встроенного горячего кодирования Splunk, например, eval {field} = 1. Это порождает набор столбцов, которые могут иметь очень большие числа в зависимости от количества элементов в поле.
Ниже приведен пример использования eval и case. Опять же, это хорошо работает для нескольких известных значений. Я ищу более динамичный c подход для работы с большим количеством значений.
| eval src_zone_num = case(src_zone == "zone1", 1, src_zone == "zone2", 2, src_zone == "zone3", 3, src_zone == "zone4", 4, src_zone == "zone5", 5)