跳转到主要内容
YAMLRegExpTree 源会从本地文件系统中的 YAML 文件加载正则表达式树。 它专门用于 regexp_tree 字典布局, 并为基于模式的查找 (例如 User-Agent 解析) 提供分层的正则表达式到属性映射。
YAMLRegExpTree 源仅在 ClickHouse Open Source 中可用。 对于 ClickHouse Cloud,请将字典导出为 CSV,并改用 ClickHouse table 源 进行加载。 详情请参见在 ClickHouse Cloud 中使用 regexp_tree 字典

配置

设置字段:

YAML 文件结构

YAML 文件包含一组正则表达式树节点。每个节点都可以包含属性和子节点,从而形成层级结构:
每个节点都具有以下结构:
  • regexp:该节点的正则表达式。
  • attributes:用户定义的字典属性 (例如 nameversion) 。属性值可以包含对正则表达式中捕获组的反向引用,写作 \1$1 (数字 1-9) 。这些引用会在查询时被替换为匹配到的捕获组。
  • child nodes:子节点列表,每个子节点都有自己的属性,并且还可以选择包含更多子节点。子节点列表的名称是任意的 (例如上面的 versions) 。字符串匹配按深度优先的方式进行:如果某个字符串匹配某个节点,则还会检查其子节点。匹配层级最深的节点属性优先,会覆盖父节点中同名的属性。
最后修改于 2026年7月3日