SEARCH_INDEX_OPTIONS 檢視表
INFORMATION_SCHEMA.SEARCH_INDEX_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_OPTIONS
檢視表時,資料集中的每個搜尋索引選項在查詢結果中都會有一個資料列。
INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
檢視表具有下列結構定義:
資料欄名稱 | 資料類型 | 值 |
---|---|---|
index_catalog |
STRING |
包含資料集的專案名稱。 |
index_schema |
STRING |
包含索引的資料集名稱。 |
table_name |
STRING |
建立索引的基礎資料表名稱。 |
index_name |
STRING |
索引的名稱。 |
option_name |
STRING |
選項名稱,可為下列其中一個:analyzer 、analyzer_options 、data_types 或 default_index_column_granularity 。 |
option_type |
STRING |
選項的類型。 |
option_value |
STRING |
選項的值。 |
範圍和語法
對這個檢視表執行的查詢必須具有資料集限定詞。下表說明此檢視區域的範圍:
檢視表名稱 | 資源範圍 | 區域範圍 |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS |
資料集層級 | 資料集位置 |
-
選用:
PROJECT_ID
: Google Cloud 專案的 ID。如果未指定,系統會使用預設專案。 -
DATASET_ID
:資料集 ID。詳情請參閱「資料集限定詞」。
示例
-- Returns metadata for search index options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS;
範例
以下範例會為 table1
的資料欄建立三個搜尋索引選項,然後從已編入索引的欄位中擷取這些選項:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS ( analyzer = 'LOG_ANALYZER', analyzer_options = '{ "delimiters" : [".", "-"] }', data_types = ['STRING', 'INT64', 'TIMESTAMP'] ); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
結果大致如下:
+------------+------------------+---------------+----------------------------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------------------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | analyzer_options | STRING | { "delimiters": [".", "-"] } | | myIndex | data_types | ARRAY<STRING> | ["STRING", "INT64", "TIMESTAMP"] | +------------+------------------+---------------+----------------------------------+
以下範例會為 table1
的資料欄建立一個搜尋索引選項,然後從已編入索引的欄位中擷取這些選項。如果選項不存在,系統會產生預設選項:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS ( analyzer = 'NO_OP_ANALYZER' ); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
結果大致如下:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | NO_OP_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+
以下範例不會為 table1
的資料欄建立搜尋索引選項,而是從已編入索引的欄位中擷取預設選項:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
結果大致如下:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+