YAMLRegExpTree загружает дерево регулярных выражений из YAML-файла в локальной файловой системе.
Он предназначен исключительно для использования со структурой словаря regexp_tree
и обеспечивает иерархическое сопоставление регулярных выражений с атрибутами для поиска по шаблону, например при разборе user agent.
Источник
YAMLRegExpTree доступен только в ClickHouse Open Source.
В ClickHouse Cloud вместо этого экспортируйте словарь в CSV и загрузите его через источник ClickHouse table.
Подробности см. в разделе Использование словарей regexp_tree в ClickHouse Cloud.Конфигурация
| Настройка | Описание |
|---|---|
PATH | Абсолютный путь к YAML-файлу, содержащему дерево регулярных выражений. При создании через DDL файл должен находиться в каталоге user_files. |
Структура YAML-файла
regexp: Регулярное выражение для этого узла.- attributes: Задаваемые пользователем атрибуты словаря (например,
name,version). Значения атрибутов могут содержать обратные ссылки на группы захвата в регулярном выражении, записанные как\1или$1(числа 1–9). При выполнении запроса они заменяются на соответствующую совпавшую группу захвата. - child nodes: Список дочерних узлов, каждый со своими атрибутами и, при необходимости, дополнительными дочерними узлами. Имя списка дочерних узлов произвольное (например,
versionsвыше). Сопоставление строк выполняется в глубину: если строка соответствует узлу, проверяются и его дочерние узлы. Атрибуты самого глубокого совпавшего узла имеют приоритет и переопределяют одноимённые атрибуты родительского узла.
- структура словаря regexp_tree — настройка структуры, примеры запросов и режимы сопоставления
- dictGet, dictGetAll — функции для запросов к словарям дерева регулярных выражений