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