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

Wildcards

Для поиска части подстроки в поисковом запросе следует использовать wildcard-символы. В зависимости от команд поиск с использованием wildcard будет иметь разный синтаксис. Для таких команд, как eval, where, like используется символ %. Для команды search справедливо использование символа *. Примеры использования команд в языке запросов Smart Monitor Language можно посмотреть в статье.

Рекомендации по использованию wildcard-символов

Поисковый движок при указании символа * будет извлекать события с использованием жадного алгоритма, то есть будут возвращены все события. Такой поиск является излишним и использует много ресурсов кластера. Для избежания подобных проблем необходимо выполнять конкретный поиск, чем точнее будет поисковый запрос, тем эффективнее работает поисковый движок.

Когда следует избегать wildcard-символов

Существует несколько ситуаций, в которых следует избегать использования wildcard:

  • Использование wildcard-символов в середине строки. Знаки в середине слова или строки могут привести к противоречивым результатам

  • Использование wildcard-символов в начале условий поискового запроса, так как их использование может вызвать проблемы с производительностью работы поискового движка

Поиск символа звездочки

Поиск символа звездочки ( * ) не возможен, поскольку этот символ зарезервирован как wildcard-символ. Однако, можно выполнить поиск по термину без звездочки, а затем использовать команду where или регулярное выражение (команда rex) для фильтрации результатов.