Visualização SEARCH_INDEXES
A visualização INFORMATION_SCHEMA.SEARCH_INDEXES contém uma linha para cada índice de pesquisa em um conjunto de dados.
Permissões necessárias
Para ver os metadados do índice de pesquisa, é 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.admin
- roles/bigquery.dataEditor
- roles/bigquery.dataOwner
- roles/bigquery.dataViewer
- roles/bigquery.metadataViewer
- roles/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.SEARCH_INDEXES, os resultados da consulta contêm uma linha para cada índice de pesquisa em um conjunto de dados.
A visualização INFORMATION_SCHEMA.SEARCH_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 base em que o índice é criado. | 
| index_name | STRING | O nome do índice. | 
| index_status | STRING | O status do índice: ACTIVE,PENDING
          DISABLEMENT,TEMPORARILY DISABLEDouPERMANENTLY 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 NULLindica 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áNULLse o status do índice não forDISABLED. | 
| disable_reason | STRING | O motivo da desativação do índice. NULLse o status do
        índice não forDISABLED. | 
| DDL | STRING | A instrução 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 SEARCH, mesmo que
        alguns dados já tenham sido indexados. | 
| unindexed_row_count | INTEGER | O número de linhas na tabela base 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. | 
| analyzer | STRING | O analisador de texto a ser usado para gerar tokens para o índice de pesquisa. | 
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.SEARCH_INDEXES | Nível do conjunto de dados | Local do conjunto de dados | 
- 
  Opcional: PROJECT_ID: o ID do seu projeto Cloud de Confiance . 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 search indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEXES;
Exemplo
O exemplo a seguir mostra todos os índices de pesquisa ativos nas tabelas do conjunto de dados
my_dataset, localizada no projeto my_project. Isso inclui os nomes,
as instruções DDL para usá-las, a porcentagem de cobertura e o
analisador de texto. Se uma tabela base indexada for
menor que 10 GB, o índice dela não será preenchido. Nesse caso, coverage_percentage será 0.
SELECT table_name, index_name, ddl, coverage_percentage, analyzer
FROM my_project.my_dataset.INFORMATION_SCHEMA.SEARCH_INDEXES
WHERE index_status = 'ACTIVE';
Os resultados vão ter a aparência abaixo:
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | 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 | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+