SEARCH_INDEX_COLUMN_OPTIONS ビュー
INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_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_COLUMN_OPTIONS ビューにクエリを実行すると、クエリ結果として、データセット内のテーブルの検索インデックス列に設定されたオプションごとに 1 行が表示されます。
INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS ビューのスキーマは次のとおりです。
| 列名 | データ型 | 値 | 
|---|---|---|
| index_catalog | STRING | データセットを含むプロジェクトの名前。 | 
| index_schema | STRING | インデックスを含むデータセットの名前。 | 
| table_name | STRING | インデックスが作成されるベーステーブルの名前。 | 
| index_name | STRING | インデックスの名前。 | 
| index_column_name | STRING | オプションが設定されているインデックス列の名前。 | 
| option_name | STRING | 列で指定されたオプションの名前。 | 
| option_type | STRING | オプションのタイプ。 | 
| option_value | STRING | オプションの値。 | 
スコープと構文
このビューに対するクエリでは、データセット修飾子を指定する必要があります。次の表に、このビューのリージョン スコープを示します。
| ビュー名 | リソース スコープ | リージョン スコープ | 
|---|---|---|
| [PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS | データセット レベル | データセットのロケーション | 
- 
  省略可: PROJECT_ID: Google Cloud プロジェクトの ID。指定しない場合は、デフォルトのプロジェクトが使用されます。
- 
  DATASET_ID: データセットの ID。詳しくは、データセット修飾子をご覧ください。
例
-- Returns metadata for search index column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;
例
次の例では、デフォルトのインデックス列の粒度を COLUMN に設定し、col2 と col3 の粒度をそれぞれ GLOBAL と COLUMN に個別に設定します。この例では、col2 列と col3 列が結果に表示されます。これらの粒度が明示的に設定されているからです。col1 列ではデフォルトの粒度が使用されているため、粒度は表示されません。
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( ALL COLUMNS WITH COLUMN OPTIONS ( col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
次のような結果になります。
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+
次の同等の例では ALL COLUMNS を使用せずに、デフォルトのインデックス列の粒度を COLUMN に設定し、2 つの列の粒度をそれぞれ GLOBAL と COLUMN に個別に設定します。
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( col1, col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
次のような結果になります。
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+