> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ClickHouse の組み込み geobase 辞書

# 組み込み（geobase）辞書

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            ClickHouse Cloud では利用できません
        </div>;
};

<CloudNotSupportedBadge />

<Note>
  このページは [ClickHouse Cloud](https://clickhouse.com/cloud) には適用されません。ここで説明している機能は ClickHouse Cloud サービスではご利用いただけません。
  詳しくは、ClickHouse の [Cloud Compatibility](/docs/ja/products/cloud/guides/cloud-compatibility) ガイドを参照してください。
</Note>

ClickHouse には、geobase を扱うための組み込み機能があります。

これにより、次のことが可能になります。

* 地域の ID を使用して、任意の言語でその名前を取得する。
* 地域の ID を使用して、都市、地区、連邦管区、国、または大陸の ID を取得する。
* ある地域が別の地域に含まれているかどうかを確認する。
* 親地域の chain を取得する。

すべての関数は "translocality" をサポートしています。これは、地域の帰属について異なる見方を同時に扱える機能です。詳細については、"web analytics 辞書を扱う関数" のセクションを参照してください。

内部辞書はデフォルトのパッケージでは無効になっています。
有効にするには、サーバー設定ファイル内の `path_to_regions_hierarchy_file` および `path_to_regions_names_files` パラメータのコメントを解除してください。

geobase はテキストファイルから読み込まれます。

`regions_hierarchy*.txt` ファイルを `path_to_regions_hierarchy_file` ディレクトリに配置します。この設定パラメータには `regions_hierarchy.txt` ファイル (デフォルトの地域階層) への path を指定する必要があり、その他のファイル (`regions_hierarchy_ua.txt`) も同じディレクトリに配置されている必要があります。

`regions_names_*.txt` ファイルを `path_to_regions_names_files` ディレクトリに配置します。

これらのファイルは自分で作成することもできます。ファイルのフォーマットは次のとおりです。

`regions_hierarchy*.txt`: TabSeparated (ヘッダーなし) 、カラム:

* 地域 ID (`UInt32`)
* 親地域 ID (`UInt32`)
* 地域 type (`UInt8`) : 1 - 大陸、3 - 国、4 - 連邦管区、5 - 地域、6 - 都市。その他の type には値がありません
* population (`UInt32`) — オプションのカラム

`regions_names_*.txt`: TabSeparated (ヘッダーなし) 、カラム:

* 地域 ID (`UInt32`)
* 地域名 (`String`) — エスケープされたものも含め、タブや改行を含めることはできません。

RAM に格納するためにフラットな配列が使用されます。このため、ID は 100 万以下にする必要があります。

サーバーを再起動せずに辞書を更新できます。ただし、利用可能な辞書のセットは更新されません。
更新時にはファイルの更新時刻が確認され、ファイルが変更されていれば辞書が更新されます。
変更を確認する interval は、`builtin_dictionaries_reload_interval` パラメータで設定します。
辞書の更新 (初回使用時の読み込みを除く) で queries がブロックされることはありません。更新中は、queries は辞書の古いバージョンを使用します。更新中に error が発生した場合、その error は server log に書き込まれ、queries は引き続き辞書の古いバージョンを使用します。

geobase に合わせて辞書を定期的に更新することを推奨します。更新時には、新しいファイルを生成して別の場所に書き込みます。すべての準備が整ったら、サーバーが使用するファイル名にリネームしてください。

OS 識別子や search engines を扱うための関数もありますが、それらは使用すべきではありません。
