Visualizzazione VECTOR_INDEXES
Per fornire feedback o richiedere assistenza per questa funzionalità, invia un'email a bq-vector-search@google.com.
La vista INFORMATION_SCHEMA.VECTOR_INDEXES
contiene una riga per ogni indice vettoriale in un set di dati.
Autorizzazioni obbligatorie
Per visualizzare i metadati dell'indice vettoriale, devi disporre dell'autorizzazione
bigquery.tables.get
o bigquery.tables.list
Identity and Access Management (IAM)
nella tabella con l'indice. Ciascuno dei seguenti ruoli IAM predefiniti include almeno una di queste autorizzazioni:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
Per maggiori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla vistaINFORMATION_SCHEMA.VECTOR_INDEXES
, i risultati della query
contengono una riga per ogni indice vettoriale in un set di dati.
La vista INFORMATION_SCHEMA.VECTOR_INDEXES
ha il seguente schema:
Nome colonna | Tipo di dati | Valore |
---|---|---|
index_catalog |
STRING |
Il nome del progetto che contiene il set di dati. |
index_schema |
STRING |
Il nome del set di dati che contiene l'indice. |
table_name |
STRING |
Il nome della tabella in base a cui viene creato l'indice. |
index_name |
STRING |
Il nome dell'indice vettoriale. |
index_status |
STRING |
Lo stato dell'indice: ACTIVE , PENDING
DISABLEMENT , TEMPORARILY DISABLED o
PERMANENTLY DISABLED .
|
creation_time |
TIMESTAMP |
La data e l'ora di creazione dell'indice. |
last_modification_time |
TIMESTAMP |
L'ultima volta che la configurazione dell'indice è stata modificata. Ad esempio, l'eliminazione di una colonna indicizzata. |
last_refresh_time |
TIMESTAMP |
L'ultima volta che i dati della tabella sono stati indicizzati. Un valore NULL indica che l'indice non è ancora disponibile. |
disable_time |
TIMESTAMP |
L'ora in cui lo stato dell'indice è stato impostato su DISABLED . Il
valore è NULL se lo stato dell'indice non è
DISABLED . |
disable_reason |
STRING |
Il motivo per cui l'indice è stato disabilitato. NULL se lo stato dell'indice non è DISABLED . |
DDL |
STRING |
L'istruzione DDL (Data Definition Language) utilizzata per creare l'indice. |
coverage_percentage |
INTEGER |
La percentuale approssimativa di dati della tabella che è stata indicizzata.
0% significa che l'indice non è utilizzabile in una query VECTOR_SEARCH , anche se alcuni dati sono già stati indicizzati.
|
unindexed_row_count |
INTEGER |
Il numero di righe della tabella che non sono state indicizzate. |
total_logical_bytes |
INTEGER |
Il numero di byte logici fatturabili per l'indice. |
total_storage_bytes |
INTEGER |
Il numero di byte di archiviazione fatturabili per l'indice. |
Ambito e sintassi
Le query in questa vista devono avere un qualificatore del set di dati. La tabella seguente spiega l'ambito della regione per questa visualizzazione:
Visualizza nome | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEXES |
Livello set di dati | Posizione del set di dati |
- (Facoltativo)
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito. DATASET_ID
: l'ID del set di dati. Per ulteriori informazioni, consulta la sezione Qualificatore del set di dati.
Esempio
-- Returns metadata for vector indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEXES;
Esempio
L'esempio seguente mostra tutti gli indici di vettore attivi nelle tabelle nel set di dati my_dataset
, che si trova nel progetto my_project
. Sono inclusi i nomi, le istruzioni DDL utilizzate per crearle e la percentuale di copertura. Se una tabella di base indicizzata è inferiore a 10 MB, il suo indice non viene completato, nel qual caso il valore coverage_percentage
è 0.
SELECT table_name, index_name, ddl, coverage_percentage FROM my_project.my_dataset.INFORMATION_SCHEMA.VECTOR_INDEXES WHERE index_status = 'ACTIVE';
Il risultato è simile al seguente:
+-------------+-------------+-----------------------------------------------------------------------------------------------+---------------------+ | table_name | index_name | ddl | coverage_percentage | +-------------+-------------+-----------------------------------------------------------------------------------------------+---------------------+ | small_table | myindex1 | CREATE VECTOR INDEX `myindex1` ON `my_project.my_dataset.small_table`(embeddings) | 100 | | | | OPTIONS (distance_type = 'EUCLIDEAN', index_type = 'IVF', ivf_options = '{"numLists": 3}') | | +-------------+-------------+-----------------------------------------------------------------------------------------------+---------------------+ | large_table | myindex2 | CREATE VECTOR INDEX `myindex2` ON `my_project.my_dataset.large_table`(vectors) | 42 | | | | OPTIONS (distance_type = 'EUCLIDEAN', index_type = 'IVF', ivf_options = '{"numLists": 12}') | | +-------------+-------------+-----------------------------------------------------------------------------------------------+---------------------+