Ansicht SEARCH_INDEX_COLUMN_OPTIONS
Die Ansicht INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
enthält eine Zeile für jede Option, die für eine suchindexierte Spalte in den Tabellen eines Datasets festgelegt ist.
Erforderliche Berechtigungen
Zum Aufrufen der Metadaten des Suchindex benötigen Sie die Berechtigung bigquery.tables.get
oder bigquery.tables.list
der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) für die Tabelle mit dem Index. Jede der folgenden vordefinierten IAM-Rollen enthält mindestens eine der folgenden Berechtigungen:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.
Schema
Wenn Sie die AnsichtINFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
abfragen, enthalten die Ergebnisse eine Zeile für jede Option, die für eine suchindexierte Spalte in den Tabellen eines Datasets festgelegt ist.
Die Ansicht INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
hat das folgende Schema:
Spaltenname | Datentyp | Wert |
---|---|---|
index_catalog |
STRING |
Der Name des Projekts, zu dem das Dataset gehört. |
index_schema |
STRING |
Der Name des Datasets, das den Index enthält. |
table_name |
STRING |
Der Name der Basistabelle, für die der Index erstellt wird. |
index_name |
STRING |
Der Name des Index. |
column_name |
STRING |
Der Name der indexierten Spalte, für die die Option festgelegt ist. |
option_name |
STRING |
Der Name der Option, die für die Spalte angegeben ist. |
option_type |
STRING |
Der Typ der Option. |
option_value |
STRING |
Der Wert der Option. |
Bereich und Syntax
Für Abfragen dieser Ansicht muss ein Dataset-Qualifizierer verwendet werden. In der folgenden Tabelle wird der Regionsbereich für diese Ansicht erläutert:
Ansichtsname | Ressourcenbereich | Regionsbereich |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS |
Dataset-Ebene | Dataset-Speicherort |
-
Optional:
PROJECT_ID
: die ID Ihres Trusted Cloud -Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet. -
DATASET_ID
: die ID Ihres Datasets. Weitere Informationen finden Sie unter Dataset-Qualifier.
Beispiel
-- Returns metadata for search index column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;
Beispiel
Im folgenden Beispiel wird die Standardgranularität der Indexspalte auf COLUMN
festgelegt und die Granularität für col2
und col3
auf GLOBAL
bzw. COLUMN
. In diesem Beispiel werden die Spalten col2
und col3
in den Ergebnissen angezeigt, weil ihre Granularität explizit festgelegt ist. Die Granularität für die Spalte col1
wird nicht angezeigt, da die Standardgranularität verwendet wird.
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';
Das Ergebnis sieht etwa so aus:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+
Im folgenden gleichwertigen Beispiel, in dem ALL COLUMNS
nicht verwendet wird, wird die Standardgranularität der Indexspalte auf COLUMN
festgelegt und die Granularität für zwei Spalten auf GLOBAL
bzw. COLUMN
festgelegt:
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';
Das Ergebnis sieht etwa so aus:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+