Ansicht SEARCH_INDEX_OPTIONS
Die Ansicht INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
enthält eine Zeile für jeden Suchindexoption in einem Dataset.
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_OPTIONS
abfragen, wird im Ergebnis jeder Suchindexoption in einem Dataset 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. |
option_name |
STRING |
Der Name der Option, entweder analyzer , analyzer_options oder data_types (Vorschau).
|
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_OPTIONS |
Dataset-Ebene | Dataset-Standort |
- 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 options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS;
Beispiel
Im folgenden Beispiel werden drei Suchoptionen für Spalten von table1
erstellt und diese Optionen werden dann aus indexierten Feldern extrahiert:
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';
Das Ergebnis sieht etwa so aus:
+------------+------------------+---------------+----------------------------------+ | 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"] | +------------+------------------+---------------+----------------------------------+
Im folgenden Beispiel wird eine Suchindexoption für Spalten von table1
erstellt und diese Optionen werden dann aus indexierten Feldern extrahiert. Wenn eine Option nicht vorhanden ist, wird die Standardoption erzeugt:
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';
Das Ergebnis sieht etwa so aus:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | NO_OP_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+
Im folgenden Beispiel werden keine Suchoptionen für Spalten von table1
erstellt und dann die Standardoptionen aus indexierten Feldern extrahiert:
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';
Das Ergebnis sieht etwa so aus:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+