SEARCH_INDEX_COLUMN_OPTIONS 檢視畫面
INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS 檢視表會針對資料集中資料表內建有搜尋索引的每個資料欄選項集,分別列出一個相對應的資料列。
所需權限
如要查看搜尋索引中繼資料,您必須具備索引資料表的 bigquery.tables.get 或 bigquery.tables.list Identity and Access Management (IAM) 權限。下列每個預先定義的 IAM 角色都至少包含其中一項權限:
roles/bigquery.adminroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.dataViewerroles/bigquery.metadataViewerroles/bigquery.user
如要進一步瞭解 BigQuery 權限,請參閱「使用 IAM 控管存取權」。
結構定義
查詢INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS 檢視表時,資料集中的資料表內,每個已建立搜尋索引的資料欄選項,在查詢結果中都會有一個相對應的資料列。
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,並分別將兩個資料欄的細微程度設為 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 | +-------------------+-------------------+---------------+--------------+