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 AnsichtINFORMATION_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 .
|
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 |
- 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 | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+