Visualização VECTOR_INDEXES
A visualização INFORMATION_SCHEMA.VECTOR_INDEXES contém uma linha para cada índice vetorial em um conjunto de dados.
Permissões necessárias
Para ver os metadados do índice vetorial, é preciso ter a permissão bigquery.tables.get ou bigquery.tables.list do Identity and Access Management (IAM) na tabela com o índice. Cada um dos seguintes papéis predefinidos
do IAM inclui pelo menos uma destas permissões:
roles/bigquery.adminroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.dataViewerroles/bigquery.metadataViewerroles/bigquery.user
Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.
Esquema
Quando você consulta a visualizaçãoINFORMATION_SCHEMA.VECTOR_INDEXES, os resultados da consulta contêm uma linha para cada índice vetorial em um conjunto de dados.
A visualização INFORMATION_SCHEMA.VECTOR_INDEXES tem o seguinte esquema:
| Nome da coluna | Tipo de dados | Valor | 
|---|---|---|
index_catalog | 
      STRING | 
      Nome do projeto que contém o conjunto de dados. | 
index_schema | 
      STRING | 
      O nome do conjunto de dados que contém o índice. | 
table_name | 
      STRING | 
      O nome da tabela em que o índice é criado. | 
index_name | 
      STRING | 
      O nome do índice vetorial. | 
index_status | 
      STRING | 
      O status do índice: ACTIVE, PENDING
          DISABLEMENT, TEMPORARILY DISABLED ou
          PERMANENTLY DISABLED.
          
  | 
    
creation_time | 
      TIMESTAMP | 
      A hora em que o índice foi criado. | 
last_modification_time | 
      TIMESTAMP | 
      A última vez que a configuração do índice foi modificada. Por exemplo, a exclusão de uma coluna indexada. | 
last_refresh_time | 
      TIMESTAMP | 
      A última vez que os dados da tabela foram indexados. Um valor NULL
          indica que o índice ainda não está disponível. | 
    
disable_time | 
      TIMESTAMP | 
      A hora em que o status do índice foi definido como DISABLED. O
          valor será NULL se o status do índice não for
          DISABLED. | 
    
disable_reason | 
      STRING | 
      O motivo da desativação do índice. NULL se o status do
        índice não for DISABLED. | 
    
DDL | 
      STRING | 
      A instrução de linguagem de definição de dados (DDL) usada para criar o índice. | 
coverage_percentage | 
      INTEGER | 
      
      A porcentagem aproximada dos dados na tabela que foram indexados.
      0% significa que o índice não pode ser usado em uma consulta VECTOR_SEARCH, mesmo que alguns dados já tenham sido indexados.
       | 
    
unindexed_row_count | 
      INTEGER | 
      O número de linhas na tabela que não foram indexadas. | 
total_logical_bytes | 
      INTEGER | 
      O número de bytes lógicos faturáveis para o índice. | 
total_storage_bytes | 
      INTEGER | 
      O número de bytes de armazenamento faturáveis para o índice. | 
Escopo e sintaxe
As consultas nesta visualização precisam ter um qualificador de conjunto de dados. A tabela a seguir explica o escopo da região dessa visualização:
| Acessar nome | Escopo do recurso | Escopo da região | 
|---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEXES | 
  Nível do conjunto de dados | Local do conjunto de dados | 
- 
  Opcional: 
PROJECT_ID: o ID do seu projeto Google Cloud . Se não for especificado, o projeto padrão será usado. - 
  
DATASET_ID: ID do conjunto de dados. Para mais informações, consulte Qualificador de conjunto de dados. 
Exemplo
-- Returns metadata for vector indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEXES;
Exemplo
O exemplo a seguir mostra todos os índices vetoriais ativos das tabelas no conjunto de dados my_dataset, localizado no projeto my_project. Isso inclui os nomes, as instruções DDL usadas para criá-los e a porcentagem de cobertura. Se uma tabela base indexada for menor que 10 MB, o índice não será preenchido. Nesse caso, o valor de coverage_percentage será 0.
SELECT table_name, index_name, ddl, coverage_percentage FROM my_project.my_dataset.INFORMATION_SCHEMA.VECTOR_INDEXES WHERE index_status = 'ACTIVE';
O resultado será semelhante ao seguinte:
+------------+------------+-------------------------------------------------------------------------------------------------+---------------------+
| 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"}') |                     |
+------------+------------+-------------------------------------------------------------------------------------------------+---------------------+