> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Dictionnaires geobase intégrés à ClickHouse

# Dictionnaires (geobase) intégrés

<CloudNotSupportedBadge />

<Note>
  Cette page ne s'applique pas à [ClickHouse Cloud](https://clickhouse.com/cloud). La fonctionnalité décrite ici n'est pas disponible dans les services ClickHouse Cloud.
  Consultez le guide ClickHouse [Compatibilité Cloud](/fr/products/cloud/guides/cloud-compatibility) pour plus d'informations.
</Note>

ClickHouse contient une fonctionnalité intégrée pour travailler avec une geobase.

Cela vous permet de :

* Utiliser l’ID d’une région pour obtenir son nom dans la langue souhaitée.
* Utiliser l’ID d’une région pour obtenir l’ID d’une ville, d’une zone, d’un district fédéral, d’un pays ou d’un continent.
* Vérifier si une région fait partie d’une autre région.
* Obtenir une chaîne de régions parentes.

Toutes les fonctions prennent en charge la « translocalité », c’est-à-dire la possibilité d’utiliser simultanément différentes perspectives sur le rattachement des régions. Pour plus d’informations, consultez la section « Fonctions pour travailler avec les dictionnaires d’analyse web ».

Les dictionnaires internes sont désactivés dans le paquet par défaut.
Pour les activer, décommentez les paramètres `path_to_regions_hierarchy_file` et `path_to_regions_names_files` dans le fichier de configuration du serveur.

La geobase est chargée à partir de fichiers texte.

Placez les fichiers `regions_hierarchy*.txt` dans le répertoire `path_to_regions_hierarchy_file`. Ce paramètre de configuration doit contenir le chemin vers le fichier `regions_hierarchy.txt` (la hiérarchie régionale par défaut), et les autres fichiers (`regions_hierarchy_ua.txt`) doivent se trouver dans le même répertoire.

Placez les fichiers `regions_names_*.txt` dans le répertoire `path_to_regions_names_files`.

Vous pouvez également créer ces fichiers vous-même. Le format des fichiers est le suivant :

`regions_hierarchy*.txt` : TabSeparated (sans en-tête), colonnes :

* ID de région (`UInt32`)
* ID de la région parente (`UInt32`)
* type de région (`UInt8`) : 1 - continent, 3 - pays, 4 - district fédéral, 5 - région, 6 - ville ; les autres types n’ont pas de valeur
* population (`UInt32`) — colonne facultative

`regions_names_*.txt` : TabSeparated (sans en-tête), colonnes :

* ID de région (`UInt32`)
* nom de la région (`String`) — ne peut pas contenir de tabulations ni de sauts de ligne, même échappés.

Un tableau plat est utilisé pour le stockage en RAM. Pour cette raison, les ID ne doivent pas dépasser un million.

Les dictionnaires peuvent être mis à jour sans redémarrer le serveur. Cependant, l’ensemble des dictionnaires disponibles n’est pas mis à jour.
Lors des mises à jour, les dates de modification des fichiers sont vérifiées. Si un fichier a changé, le dictionnaire est mis à jour.
L’intervalle de vérification des modifications est configuré dans le paramètre `builtin_dictionaries_reload_interval`.
Les mises à jour des dictionnaires (autres que le chargement lors de la première utilisation) ne bloquent pas les requêtes. Pendant les mises à jour, les requêtes utilisent les anciennes versions des dictionnaires. Si une erreur se produit pendant une mise à jour, elle est consignée dans le journal du serveur, et les requêtes continuent d’utiliser l’ancienne version des dictionnaires.

Nous recommandons de mettre à jour périodiquement les dictionnaires avec la geobase. Lors d’une mise à jour, générez de nouveaux fichiers et écrivez-les dans un emplacement distinct. Lorsque tout est prêt, renommez-les avec les noms des fichiers utilisés par le serveur.

Il existe également des fonctions pour travailler avec les identifiants de systèmes d’exploitation et les moteurs de recherche, mais elles ne doivent pas être utilisées.
