Vista SEARCH_INDEXES
La vista INFORMATION_SCHEMA.SEARCH_INDEXES
contiene una fila por cada í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_INDEXES
, los resultados de la consulta
contienen una fila por cada índice de búsqueda de un conjunto de datos.
La vista INFORMATION_SCHEMA.SEARCH_INDEXES
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. |
index_status |
STRING |
Estado del índice: ACTIVE , PENDING
DISABLEMENT , TEMPORARILY DISABLED o PERMANENTLY DISABLED .
|
creation_time |
TIMESTAMP |
La hora en la que se creó el índice. |
last_modification_time |
TIMESTAMP |
La última vez que se modificó la configuración del índice. Por ejemplo, eliminar una columna indexada. |
last_refresh_time |
TIMESTAMP |
La última vez que se indexaron los datos de la tabla. Un valor NULL
significa que el índice aún no está disponible. |
disable_time |
TIMESTAMP |
La hora a la que se definió el estado del índice como DISABLED . El valor es NULL si el estado del índice no es DISABLED . |
disable_reason |
STRING |
Motivo por el que se ha inhabilitado el índice. NULL si el estado del índice no es DISABLED . |
DDL |
STRING |
La instrucción DDL usada para crear el índice. |
coverage_percentage |
INTEGER |
El porcentaje aproximado de datos de la tabla que se ha indexado. 0 %
significa que el índice no se puede usar en una consulta SEARCH , aunque
ya se hayan indexado algunos datos. |
unindexed_row_count |
INTEGER |
Número de filas de la tabla base que no se han indexado. |
total_logical_bytes |
INTEGER |
Número de bytes lógicos facturables del índice. |
total_storage_bytes |
INTEGER |
Número de bytes de almacenamiento facturables del índice. |
analyzer |
STRING |
El analizador de texto que se va a usar para generar tokens para el índice de búsqueda. |
Á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_INDEXES |
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 indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEXES;
Ejemplo
En el siguiente ejemplo se muestran todos los índices de búsqueda activos de las tablas del conjunto de datos my_dataset
, ubicado en el proyecto my_project
. Incluye sus nombres, las instrucciones DDL usadas para crearlos, su porcentaje de cobertura y su analizador de texto. Si una tabla base indexada tiene menos de 10 GB, su índice no se rellena, en cuyo caso coverage_percentage
es 0.
SELECT table_name, index_name, ddl, coverage_percentage, analyzer
FROM my_project.my_dataset.INFORMATION_SCHEMA.SEARCH_INDEXES
WHERE index_status = 'ACTIVE';
Los resultados deberían tener este aspecto:
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | table_name | index_name | ddl | coverage_percentage | analyzer | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | small_table | names_index | CREATE SEARCH INDEX `names_index` ON `my_project.my_dataset.small_table`(names) | 0 | NO_OP_ANALYZER | | large_table | logs_index | CREATE SEARCH INDEX `logs_index` ON `my_project.my_dataset.large_table`(ALL COLUMNS) | 100 | LOG_ANALYZER | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+