SEARCH_INDEX_COLUMN_OPTIONS 檢視表
INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
檢視畫面會針對資料集中資料表中搜尋索引欄的每個選項組合,列出一個資料列。
所需權限
如要查看搜尋索引中繼資料,您必須具備索引資料表的 bigquery.tables.get
或 bigquery.tables.list
身分與存取權管理 (IAM) 權限。以下每個預先定義的 IAM 角色都包含下列至少一項權限:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
如要進一步瞭解 BigQuery 權限,請參閱「使用身分與存取權管理功能控管存取權」。
結構定義
查詢INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
檢視表時,資料集中每個資料表的搜尋索引值資料欄上設定的選項,在查詢結果中都會有一個資料列。
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
,並分別將兩個欄的精細程度分別設為 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 | +-------------+-------------------+---------------+--------------+