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 wurde.
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, wird im Ergebnis jede Option, die für eine suchindexierte Spalte in den Tabellen eines Datasets festgelegt ist, in einer eigenen Zeile dargestellt.
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 Google 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 Detaillierungsebene der Standardindexspalte auf COLUMN
festgelegt und die Detaillierungsebene für col2
und col3
jeweils auf GLOBAL
und COLUMN
. In diesem Beispiel werden die Spalten col2
und col3
in den Ergebnissen angezeigt, da ihre Detaillierung explizit festgelegt ist. Die Detailebene für Spalte col1
wird nicht angezeigt, da die Standarddetailebene 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:
+-------------+-------------------+---------------+--------------+ | column_name | option_name | option_type | option_value | +-------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------+-------------------+---------------+--------------+
Im folgenden äquivalenten 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 jeweils auf GLOBAL
und 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';
Das Ergebnis sieht etwa so aus:
+-------------+-------------------+---------------+--------------+ | column_name | option_name | option_type | option_value | +-------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------+-------------------+---------------+--------------+