Vista SEARCH_INDEX_COLUMN_OPTIONS
A vista INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
contém uma linha para cada opção definida numa coluna indexada pela pesquisa nas tabelas num conjunto de dados.
Autorizações necessárias
Para ver os metadados do índice de pesquisa, precisa da autorização
bigquery.tables.get
ou bigquery.tables.list
de gestão de identidade e de acesso (IAM)
na tabela com o índice. Cada uma das seguintes funções do IAM predefinidas inclui, pelo menos, uma destas autorizaçõ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 autorizações do BigQuery, consulte o artigo Controlo de acesso com a IAM.
Esquema
Quando consulta a vistaINFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
, os resultados da consulta contêm uma linha para cada opção definida numa coluna indexada pela pesquisa nas tabelas num conjunto de dados.
A vista INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
tem o seguinte esquema:
Nome da coluna | Tipo de dados | Valor |
---|---|---|
index_catalog |
STRING |
O 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 na qual o índice é criado. |
index_name |
STRING |
O nome do índice. |
index_column_name |
STRING |
O nome da coluna indexada na qual a opção está definida. |
option_name |
STRING |
O nome da opção especificada na coluna. |
option_type |
STRING |
O tipo de opção. |
option_value |
STRING |
O valor da opção. |
Âmbito e sintaxe
As consultas nesta vista têm de ter um qualificador de conjunto de dados. A tabela seguinte explica o âmbito da região para esta vista:
Nome da vista | Âmbito do recurso | Âmbito da região |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS |
Nível do conjunto de dados | Localização do conjunto de dados |
-
Opcional:
PROJECT_ID
: o ID do seu projeto do Trusted Cloud Google Cloud. Se não for especificado, é usado o projeto predefinido. -
DATASET_ID
: o ID do seu conjunto de dados. Para mais informações, consulte o artigo 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 seguinte define o nível de detalhe da coluna de índice predefinido como COLUMN
e define individualmente o nível de detalhe de col2
e col3
como GLOBAL
e COLUMN
, respetivamente. Neste exemplo, as colunas col2
e col3
aparecem nos resultados porque a respetiva granularidade está definida explicitamente. A granularidade da coluna
col1
não é apresentada porque usa a granularidade predefinida.
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 é semelhante ao seguinte:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+
O exemplo equivalente seguinte, que não usa ALL COLUMNS
, define a granularidade da coluna de índice predefinida como COLUMN
e define individualmente a granularidade de duas colunas como GLOBAL
e COLUMN
, respetivamente:
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 é semelhante ao seguinte:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+