Wildcards
Для поиска части подстроки в поисковом запросе следует использовать wildcard-символы. В зависимости от команд поиск с использованием wildcard будет иметь разный синтаксис. Для таких команд, как eval, where, like используется символ %. Для команды search справедливо использование символа *. Примеры использования команд в языке запросов Smart Monitor Language можно посмотреть в статье.
Рекомендации по использованию wildcard-символов
Поисковый движок при указании символа * будет извлекать события с использованием жадного алгоритма, то есть будут возвращены все события. Такой поиск является излишним и использует много ресурсов кластера. Для избежания подобных проблем необходимо выполнять конкретный поиск, чем точнее будет поисковый запрос, тем эффективнее работает поисковый движок.
Когда следует избегать wildcard-символов
Существует несколько ситуаций, в которых следует избегать использования wildcard:
-
Использование wildcard-символов в середине строки. Знаки в середине слова или строки могут привести к противоречивым результатам
-
Использование wildcard-символов в начале условий поискового запроса, так как их использование может вызвать проблемы с производительностью работы поискового движка
Поиск символа звездочки
Поиск символа звездочки ( * ) не возможен, поскольку этот символ зарезервирован как wildcard-символ. Однако, можно выполнить поиск по термину без звездочки, а затем использовать команду where или регулярное выражение (команда rex) для фильтрации результатов.