SEARCH_INDEX_COLUMN_OPTIONS 檢視畫面

INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS 檢視表會針對資料集中資料表內經搜尋索引的每個資料欄選項集,分別列出一個相對應的資料列。

所需權限

如要查看搜尋索引中繼資料,您必須具備索引資料表的 bigquery.tables.getbigquery.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,並分別將 col2col3 的細微程度設為 GLOBALCOLUMN。在本範例中,col2col3 資料欄會顯示在結果中,因為其精細度已明確設定。由於欄 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,並分別將兩個資料欄的細微程度設為 GLOBALCOLUMN

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       |
+-------------------+-------------------+---------------+--------------+