Vista SEARCH_INDEX_OPTIONS
A vista INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
contém uma linha para cada opção de índice de pesquisa 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_OPTIONS
, os resultados da consulta contêm uma linha para cada opção de índice de pesquisa num conjunto de dados.
A vista INFORMATION_SCHEMA.SEARCH_INDEX_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. |
option_name |
STRING |
O nome da opção, que pode ser um dos seguintes:
analyzer , analyzer_options ,
data_types ou
default_index_column_granularity .
|
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_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 options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS;
Exemplo
O exemplo seguinte cria três opções de índice de pesquisa para colunas de table1
e, em seguida, extrai essas opções de 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 é 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 seguinte cria uma opção de índice de pesquisa para colunas de table1
e, em seguida, extrai essas opções de campos indexados. Se uma opção não existir, é produzida a opção predefinida:
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 é 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 seguinte não cria opções de índice de pesquisa para colunas de table1
e, em seguida, extrai as opções predefinidas de 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 é semelhante ao seguinte:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+