Ansicht SEARCH_INDEXES

Die Ansicht INFORMATION_SCHEMA.SEARCH_INDEXES enthält eine Zeile für jeden Suchindex 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 Ansicht INFORMATION_SCHEMA.SEARCH_INDEXES abfragen, wird im Ergebnis jeder Suchindex in einem Dataset in einer eigenen Zeile dargestellt.

Die Ansicht INFORMATION_SCHEMA.SEARCH_INDEXES 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.
index_status STRING Der Status des Index: ACTIVE, PENDING DISABLEMENT, TEMPORARILY DISABLED oder PERMANENTLY DISABLED.
  • ACTIVE bedeutet, dass der Index verwendet werden kann oder erstellt wird. Informationen zum Fortschritt der Indexerstellung finden Sie unter coverage_percentage .
  • PENDING DISABLEMENT bedeutet, dass die Gesamtgröße der indexierten Basistabellen das Limit Ihrer Organisation überschreitet. Der Index wird zum Löschen in die Warteschlange gestellt. In diesem Zustand kann der Index für Suchanfragen verwendet werden und Ihnen wird der Suchindexspeicher in Rechnung gestellt.
  • TEMPORARILY DISABLED bedeutet, dass die Gesamtgröße der indexierten Basistabellen das Limit Ihrer Organisation überschreitet oder die indexierte Basistabelle kleiner als 10 GB ist. In diesem Zustand wird der Index nicht in Suchanfragen verwendet und Ihnen werden keine Kosten für den Speicher des Suchindex berechnet.
  • PERMANENTLY DISABLED bedeutet, dass die Schematabelle nicht kompatibel ist, z. B. dass der Typ einer indexierten Spalte von STRING in INT64 geändert wird.
creation_time TIMESTAMP Der Zeitpunkt, zu dem der Index erstellt wurde.
last_modification_time TIMESTAMP Der Zeitpunkt der letzten Änderung der Indexkonfiguration. Beispiel: Löschen einer indexierten Spalte.
last_refresh_time TIMESTAMP Der Zeitpunkt der letzten Indexierung der Tabellendaten. Der Wert NULL bedeutet, dass der Index noch nicht verfügbar ist.
disable_time TIMESTAMP Die Zeitpunkt, zu dem der Indexstatus auf DISABLED gesetzt wurde. Der Wert ist NULL, wenn der Indexstatus nicht DISABLED ist.
disable_reason STRING Der Grund für die Deaktivierung des Index. NULL, wenn der Indexstatus nicht DISABLED ist.
DDL STRING Die DDL-Anweisung, die zum Erstellen des Index verwendet wird.
coverage_percentage INTEGER Der ungefähre Prozentsatz der indexierten Tabellendaten. 0 % bedeutet, dass der Index in einer SEARCH-Abfrage nicht verwendet werden kann, auch wenn einige Daten bereits indexiert wurden.
unindexed_row_count INTEGER Die Anzahl der Zeilen in der Basistabelle, die nicht indexiert sind.
total_logical_bytes INTEGER Die Anzahl der abrechenbaren logischen Byte für den Index.
total_storage_bytes INTEGER Die Anzahl der abrechenbaren Speicherbyte für den Index.
analyzer STRING Der Textanalysator, der zum Generieren von Tokens für den Suchindex verwendet werden soll.

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_INDEXES Dataset-Ebene Dataset-Standort
Dabei gilt:

  • 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 indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEXES;

Beispiel

Das folgende Beispiel zeigt alle aktiven Suchindexe für Tabellen im Dataset my_dataset, das sich im Projekt my_project befindet. Sie enthält die Namen, die zum Erstellen verwendeten DDL-Anweisungen, den Deckungsprozentsatz und den Textanalysator. Ist eine indexierte Basistabelle kleiner als 10 GB, wird der Index nicht ausgefüllt. In diesem Fall ist coverage_percentage 0.

SELECT table_name, index_name, ddl, coverage_percentage, analyzer
FROM my_project.my_dataset.INFORMATION_SCHEMA.SEARCH_INDEXES
WHERE index_status = 'ACTIVE';

Die Ergebnisse sollten so aussehen:

+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+
| table_name  | index_name  | ddl                                                                                  | coverage_percentage | analyzer       |
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+
| small_table | names_index | CREATE SEARCH INDEX `names_index` ON `my_project.my_dataset.small_table`(names)      | 0                   | NO_OP_ANALYZER |
| large_table | logs_index  | CREATE SEARCH INDEX `logs_index` ON `my_project.my_dataset.large_table`(ALL COLUMNS) | 100                 | LOG_ANALYZER   |
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+