Visualização SEARCH_INDEX_OPTIONS
A visualização INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS 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_INDEX_OPTIONS, os resultados
da consulta contêm uma linha para cada índice de pesquisa em um conjunto de dados.
A visualização INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS 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. | 
| option_name | STRING | O nome da opção, que pode ser um dos seguintes: analyzer,analyzer_options,data_typesoudefault_index_column_granularity. | 
| option_type | STRING | O tipo da opção. | 
| option_value | STRING | O valor da opção. | 
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_INDEX_OPTIONS | 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 search index options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS;
Exemplo
O exemplo a seguir cria três opções de índice de pesquisa para colunas de
table1 e extrai essas opções dos campos indexados:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS ( analyzer = 'LOG_ANALYZER', analyzer_options = '{ "delimiters" : [".", "-"] }', data_types = ['STRING', 'INT64', 'TIMESTAMP'] ); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
O resultado será semelhante ao seguinte:
+------------+------------------+---------------+----------------------------------+
| index_name |  option_name     | option_type   | option_value                     |
+------------+------------------+---------------+----------------------------------+
| myIndex    | analyzer         | STRING        | LOG_ANALYZER                     |
| myIndex    | analyzer_options | STRING        | { "delimiters": [".", "-"] }     |
| myIndex    | data_types       | ARRAY<STRING> | ["STRING", "INT64", "TIMESTAMP"] |
+------------+------------------+---------------+----------------------------------+
O exemplo a seguir cria uma opção de índice de pesquisa para colunas de table1
e extrai essas opções dos campos indexados. Se uma opção
não existir, a opção padrão será produzida:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS ( analyzer = 'NO_OP_ANALYZER' ); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
O resultado será semelhante ao seguinte:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | NO_OP_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+
O exemplo a seguir não cria opções de índice de pesquisa para colunas de table1
e extrai as opções padrão dos campos indexados:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
O resultado será semelhante ao seguinte:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+