Ansicht VECTOR_INDEXES
Wenn Sie Feedback geben oder Support für dieses Feature anfordern möchten, senden Sie eine E-Mail an bq-vector-search@google.com.
Die Ansicht INFORMATION_SCHEMA.VECTOR_INDEXES
enthält eine Zeile für jeden Vektorindex 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.VECTOR_INDEXES
abfragen, wird im Ergebnis jeder Vektorindex in einem Dataset in einer eigenen Zeile dargestellt.
Die Ansicht INFORMATION_SCHEMA.VECTOR_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 Tabelle, für die der Index erstellt wird. |
index_name |
STRING |
Der Name des Vektorindex. |
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 (Data Definition Language, Datendefinitionssprache), die zum Erstellen des Index verwendet wird. |
coverage_percentage |
INTEGER |
Der ungefähre Prozentsatz der indexierten Tabellendaten.
0 % bedeutet, dass der Index in einer VECTOR_SEARCH -Abfrage nicht verwendet werden kann, auch wenn einige Daten bereits indexiert wurden.
|
unindexed_row_count |
INTEGER |
Die Anzahl der Zeilen in der Tabelle, 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. |
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.VECTOR_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 vector indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEXES;
Beispiel
Das folgende Beispiel zeigt alle aktiven Vektorindexe für Tabellen im Dataset my_dataset
, das sich im Projekt my_project
befindet. Darin enthalten sind die Namen, die zum Erstellen der Indexe verwendeten DDL-Anweisungen und der Deckungsprozentsatz. Ist eine indexierte Basistabelle kleiner als 10 MB, wird der Index nicht ausgefüllt. In diesem Fall ist der Wert coverage_percentage
0.
SELECT table_name, index_name, ddl, coverage_percentage FROM my_project.my_dataset.INFORMATION_SCHEMA.VECTOR_INDEXES WHERE index_status = 'ACTIVE';
Das Ergebnis sieht etwa so aus:
+------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | table_name | index_name | ddl | coverage_percentage | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | table1 | indexa | CREATE VECTOR INDEX `indexa` ON `my_project.my_dataset.table1`(embeddings) | 100 | | | | OPTIONS (distance_type = 'EUCLIDEAN', index_type = 'IVF', ivf_options = '{"num_lists": 100}') | | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | table2 | indexb | CREATE VECTOR INDEX `indexb` ON `my_project.my_dataset.table2`(vectors) | 42 | | | | OPTIONS (distance_type = 'COSINE', index_type = 'IVF', ivf_options = '{"num_lists": 500}') | | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+ | table3 | indexc | CREATE VECTOR INDEX `indexc` ON `my_project.my_dataset.table3`(vectors) | 98 | | | | OPTIONS (distance_type = 'DOT_PRODUCT', index_type = 'TREE_AH', | | | | | tree_ah_options = '{"leaf_node_embedding_count": 1000, "normalization_type": "NONE"}') | | +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+