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_OPTIONS
ビューのスキーマは次のとおりです。
列名 | データ型 | 値 |
---|---|---|
index_catalog |
STRING |
データセットを含むプロジェクトの名前。 |
index_schema |
STRING |
インデックスを含むデータセットの名前。 |
table_name |
STRING |
インデックスが作成されるベーステーブルの名前。 |
index_name |
STRING |
インデックスの名前。 |
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';
次のような結果になります。
+-------------+-------------------+---------------+--------------+ | 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';
次のような結果になります。
+-------------+-------------------+---------------+--------------+ | column_name | option_name | option_type | option_value | +-------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------+-------------------+---------------+--------------+