Vista SEARCH_INDEX_OPTIONS
La vista INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
contiene una fila por cada opción de índice de búsqueda de un conjunto de datos.
Permisos obligatorios
Para ver los metadatos del índice de búsqueda, necesitas el permiso de gestión de identidades y accesos (IAM) bigquery.tables.get
o bigquery.tables.list
en la tabla con el índice. Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye al menos uno de estos permisos:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
Para obtener más información sobre los permisos de BigQuery, consulta Control de acceso con gestión de identidades y accesos.
Esquema
Cuando consultas la vistaINFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
, los resultados de la consulta contienen una fila por cada opción de índice de búsqueda de un conjunto de datos.
La vista INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
index_catalog |
STRING |
Nombre del proyecto que contiene el conjunto de datos. |
index_schema |
STRING |
Nombre del conjunto de datos que contiene el índice. |
table_name |
STRING |
Nombre de la tabla base en la que se crea el índice. |
index_name |
STRING |
Nombre del índice. |
option_name |
STRING |
El nombre de la opción, que puede ser uno de los siguientes:
analyzer , analyzer_options ,
data_types o
default_index_column_granularity .
|
option_type |
STRING |
Tipo de opción. |
option_value |
STRING |
Valor de la opción. |
Ámbito y sintaxis
Las consultas de esta vista deben tener un calificador de conjunto de datos. En la siguiente tabla se explica el ámbito de la región de esta vista:
Nombre de la vista | Ámbito de los recursos | Ámbito de la región |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS |
Nivel del conjunto de datos | Ubicación del conjunto de datos |
-
Opcional:
PROJECT_ID
: el ID de tu Google Cloud proyecto. Si no se especifica, se usa el proyecto predeterminado. -
DATASET_ID
: el ID de tu conjunto de datos. Para obtener más información, consulta Calificador de conjunto de datos.
Ejemplo
-- Returns metadata for search index options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS;
Ejemplo
En el siguiente ejemplo se crean tres opciones de índice de búsqueda para las columnas de
table1
y, a continuación, se extraen esas opciones de los 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';
El resultado es similar al siguiente:
+------------+------------------+---------------+----------------------------------+ | 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"] | +------------+------------------+---------------+----------------------------------+
En el ejemplo siguiente se crea una opción de índice de búsqueda para las columnas de table1
y, a continuación, se extraen esas opciones de los campos indexados. Si una opción no existe, se genera la opción predeterminada:
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';
El resultado es similar al siguiente:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | NO_OP_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+
En el siguiente ejemplo no se crean opciones de índice de búsqueda para las columnas de table1
y, a continuación, se extraen las opciones predeterminadas de los 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';
El resultado es similar al siguiente:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+