Visualizzazione VECTOR_INDEXES

La vista INFORMATION_SCHEMA.VECTOR_INDEXES contiene una riga per ogni indice del vettore in un set di dati.

Autorizzazioni obbligatorie

Per visualizzare i metadati dell'indice di vettori, devi disporre dell'autorizzazione Identity and Access Management (IAM) bigquery.tables.get o bigquery.tables.list per la 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 ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.

Schema

Quando esegui una query sulla visualizzazione INFORMATION_SCHEMA.VECTOR_INDEXES, i risultati della query contengono una riga per ogni indice di vettore in un set di dati.

La vista INFORMATION_SCHEMA.VECTOR_INDEXES ha lo schema seguente:

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 contenente l'indice.
table_name STRING Il nome della tabella in cui viene creato l'indice.
index_name STRING Il nome dell'indice del vettore.
index_status STRING Lo stato dell'indice: ACTIVE, PENDING DISABLEMENT, TEMPORARILY DISABLED o PERMANENTLY DISABLED.
  • ACTIVE indica che l'indice è utilizzabile o è in fase di creazione. Consulta coverage_percentage per controllare lo stato di avanzamento della creazione dell'indice.
  • PENDING DISABLEMENT indica che le dimensioni totali delle tabelle indicizzate superano il limite della tua organizzazione. L'indice è in coda per l'eliminazione. In questo stato, l'indice è utilizzabile nelle query di ricerca vettoriale e ti viene addebitato lo spazio di archiviazione dell'indice vettoriale.
  • TEMPORARILY DISABLED indica che le dimensioni totali delle tabelle indicizzate superano il limite della tua organizzazione oppure che la tabella indicizzata è inferiore a 10 MB. In questo stato, l'indice non viene utilizzato nelle query di ricerca di vettori e non ti viene addebitato alcun costo per lo spazio di archiviazione dell'indice di vettori.
  • PERMANENTLY DISABLED indica che è stata apportata una modifica dello schema incompatibile alla tabella indicizzata.
creation_time TIMESTAMP L'ora in cui è stato creato l'indice.
last_modification_time TIMESTAMP L'ultima volta che è stata modificata la configurazione dell'indice. 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 disattivato. 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 sono stati indicizzati. 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 nella 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 spazio di archiviazione fatturabili per l'indice.

Ambito e sintassi

Le query su questa vista devono avere un qualificatore del set di dati. La tabella seguente illustra l'ambito della regione per questa visualizzazione:

Visualizza nome Ambito risorsa Ambito regione
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEXES A livello di set di dati Posizione del set di dati

Sostituisci quanto segue:

  • Facoltativo: PROJECT_ID: l'ID del tuo progetto Google Cloud. Se non viene specificato, viene utilizzato il progetto predefinito.

    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 vettori attivi nelle tabelle del set di datimy_dataset, nel progetto my_project. Sono inclusi i nomi, le istruzioni DDL utilizzate per crearli e la percentuale di copertura. Se una tabella di base indicizzata è inferiore a 10 MB, il relativo indice non viene compilato, 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 |
    +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+
    | 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"}') |                     |
    +------------+------------+-------------------------------------------------------------------------------------------------+---------------------+