SEARCH_INDEX_OPTIONS ビュー
INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
ビューには、データセット内の検索インデックス オプションごとに 1 行が表示されます。
必要な権限
検索インデックスのメタデータを表示するには、インデックスを含むテーブルに対する bigquery.tables.get
または bigquery.tables.list
の Identity and Access Management(IAM)権限が必要です。次に示す事前定義された各 IAM ロールには、これらのうち少なくとも 1 つの権限が含まれています。
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
BigQuery の権限の詳細については、IAM でのアクセス制御をご覧ください。
スキーマ
INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
ビューにクエリを実行すると、データセット内の各検索インデックス オプションに関する情報が 1 行ずつ表示されるクエリ結果が返されます。
INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
index_catalog |
STRING |
データセットを含むプロジェクトの名前 |
index_schema |
STRING |
インデックスを含むデータセットの名前。 |
table_name |
STRING |
インデックスが作成されるベーステーブルの名前。 |
index_name |
STRING |
インデックスの名前。 |
option_name |
STRING |
オプションの名前。analyzer 、analyzer_options 、data_types (プレビュー)のいずれかです。 |
option_type |
STRING |
オプションのタイプ。 |
option_value |
STRING |
オプションの値。 |
スコープと構文
このビューに対するクエリでは、データセット修飾子を指定する必要があります。次の表に、このビューのリージョン スコープを示します。
ビュー名 | リソース スコープ | リージョン スコープ |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS |
データセット レベル | データセットのロケーション |
- 省略可:
PROJECT_ID
: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
DATASET_ID
: データセットの ID詳しくは、データセット修飾子をご覧ください。
例
-- Returns metadata for search index options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS;
例
次の例では、table1
の列に 3 つの検索インデックス オプションを作成し、インデックスに登録されているフィールドからそれらのオプションを抽出します。
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS ( analyzer = 'LOG_ANALYZER', analyzer_options = '{ "delimiters" : [".", "-"] }', data_types = ['STRING', 'INT64', 'TIMESTAMP'] ); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
次のような結果になります。
+------------+------------------+---------------+----------------------------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------------------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | analyzer_options | STRING | { "delimiters": [".", "-"] } | | myIndex | data_types | ARRAY<STRING> | ["STRING", "INT64", "TIMESTAMP"] | +------------+------------------+---------------+----------------------------------+
次の例では、table1
の列に対して 1 つの検索インデックス オプションを作成し、インデックスに登録されているフィールドからそのオプションを抽出します。オプションが存在しない場合は、デフォルト オプションが生成されます。
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS ( analyzer = 'NO_OP_ANALYZER' ); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
次のような結果になります。
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | NO_OP_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+
次の例では、table1
の列に検索インデックス オプションを作成せず、インデックスに登録されているフィールドからデフォルト オプションを抽出します。
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
次のような結果になります。
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+