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 vista INFORMATION_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
Sustituye lo siguiente:
  • 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"]     |
+------------+------------------+---------------+----------------+