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.adminroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.dataViewerroles/bigquery.metadataViewerroles/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. Mögliche Werte: analyzer, analyzer_options, data_types oder default_index_column_granularity.
       | 
    
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-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 options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS;
Beispiel
Im folgenden Beispiel werden drei Suchindexoptionen für Spalten von table1 erstellt und 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 verwendet:
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 Suchindexoptionen für Spalten von table1 erstellt und dann die Standardoptionen aus Feldern extrahiert, die indexiert sind:
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"] | +------------+------------------+---------------+----------------+