Visualização SEARCH_INDEX_COLUMN_OPTIONS
A visualização INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
contém uma linha para
cada opção definida em uma coluna com índice de pesquisa nas tabelas de 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_COLUMN_OPTIONS
, os resultados da consulta contêm uma linha para cada opção definida em uma coluna com índice de pesquisa nas tabelas de 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. |
column_name |
STRING |
O nome da coluna indexada em que a opção está definida. |
option_name |
STRING |
O nome da opção especificada na coluna. |
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_COLUMN_OPTIONS |
Nível do conjunto de dados | Local do conjunto de dados |
-
Opcional:
PROJECT_ID
: o ID do seu projeto do 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 column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;
Exemplo
O exemplo a seguir define a granularidade da coluna de índice padrão como COLUMN
e define individualmente a granularidade de col2
e col3
como GLOBAL
e COLUMN
, respectivamente. Neste exemplo, as colunas col2
e col3
aparecem nos resultados
porque a granularidade delas é definida explicitamente. A granularidade da coluna col1
não é mostrada porque ela usa a granularidade padrão.
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( ALL COLUMNS WITH COLUMN OPTIONS ( col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
O resultado será semelhante ao seguinte:
+-------------+-------------------+---------------+--------------+ | column_name | option_name | option_type | option_value | +-------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------+-------------------+---------------+--------------+
O exemplo equivalente a seguir, que não usa ALL COLUMNS
, define a granularidade da coluna de índice padrão como
COLUMN
e define individualmente a granularidade de duas colunas como GLOBAL
e
COLUMN
, respectivamente:
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( col1, col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
O resultado será semelhante ao seguinte:
+-------------+-------------------+---------------+--------------+ | column_name | option_name | option_type | option_value | +-------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------+-------------------+---------------+--------------+