YAMLRegExpTree charge un arbre d’expressions régulières à partir d’un fichier YAML situé sur le système de fichiers local.
Elle est conçue exclusivement pour être utilisée avec le layout du dictionnaire regexp_tree
et fournit des correspondances hiérarchiques entre regex et attributs pour des lookups basés sur des motifs, comme l’analyse des user agents.
La source
YAMLRegExpTree n’est disponible que dans ClickHouse Open Source.
Avec ClickHouse Cloud, exportez le dictionnaire au format CSV et chargez-le à la place via une source de ClickHouse table.
Voir Using regexp_tree dictionaries in ClickHouse Cloud pour en savoir plus.Configuration
| Paramètre | Description |
|---|---|
PATH | Chemin absolu vers le fichier YAML contenant l’arbre d’expression régulière. Lorsqu’il est créé via DDL, le fichier doit se trouver dans le répertoire user_files. |
Structure du fichier YAML
regexp: L’expression régulière de ce nœud.- attributes: Attributs de dictionnaire définis par l’utilisateur (par ex.
name,version). Les valeurs des attributs peuvent contenir des références arrière à des groupes de capture dans l’expression régulière, notées\1ou$1(nombres de 1 à 9). Elles sont remplacées par le groupe de capture correspondant au moment de l’exécution de la requête. - child nodes: Une liste de nœuds enfants, chacun avec ses propres attributs et, éventuellement, d’autres enfants. Le nom de la liste des enfants est arbitraire (par ex.
versionsci-dessus). La correspondance des chaînes s’effectue par parcours en profondeur : si une chaîne correspond à un nœud, ses enfants sont eux aussi vérifiés. Les attributs du nœud correspondant le plus profond ont priorité et remplacent les attributs du parent portant le même nom.
- layout du dictionnaire regexp_tree — configuration du layout, exemples de requêtes et modes de correspondance
- dictGet, dictGetAll — fonctions pour interroger les dictionnaires regexp tree