Vista de SEARCH_INDEX_COLUMN_OPTIONS
La vista INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
contiene una fila para cada opción establecida en una columna indexada de la búsqueda en las tablas de un conjunto de datos.
Permisos necesarios
Para ver los metadatos del índice de búsqueda, necesitas el permiso bigquery.tables.get
o bigquery.tables.list
de Identity and Access Management (IAM) en la tabla con el índice. Cada una de los siguientes roles predefinidos de IAM 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 IAM de BigQuery, consulta Control de acceso con IAM.
Esquema
Cuando consultas la vistaINFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
, los resultados de la consulta contienen una fila por cada opción establecida en una columna indexada de búsqueda en las tablas 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 |
El nombre del proyecto que contiene el conjunto de datos. |
index_schema |
STRING |
Es el nombre del conjunto de datos que contiene el índice. |
table_name |
STRING |
El nombre de la tabla base en la que se crea el índice. |
index_name |
STRING |
Es el nombre del índice. |
column_name |
STRING |
Es el nombre de la columna indexada en la que se establece la opción. |
option_name |
STRING |
Es el nombre de la opción especificada en la columna. |
option_type |
STRING |
Es el tipo de la opción. |
option_value |
STRING |
El valor de la opción. |
Permiso y sintaxis
Las consultas realizadas a esta vista deben tener un calificador de conjunto de datos. En la siguiente tabla, se explica el permiso de la región para esta vista:
Nombre de la vista | Permiso del recurso | Permiso de la región |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS |
Nivel de conjunto de datos | Ubicación del conjunto de datos |
-
Opcional:
PROJECT_ID
es el ID de tu proyecto de Google Cloud. Si no se especifica, se usa el proyecto predeterminado. -
DATASET_ID
: Es el ID del conjunto de datos. Para obtener más información, consulta Calificador de conjunto de datos.
Ejemplo
-- Returns metadata for search index column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;
Ejemplo
En el siguiente ejemplo, se establece el nivel de detalle predeterminado de la columna de índice en COLUMN
y, luego, se establece de forma individual el nivel de detalle de col2
y col3
en GLOBAL
y COLUMN
, respectivamente. En este ejemplo, las columnas col2
y col3
aparecen en los resultados porque su nivel de detalle se establece de forma explícita. No se muestra el nivel de detalle de la columna col1
porque usa el nivel de detalle predeterminado.
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';
El resultado es similar al siguiente:
+-------------+-------------------+---------------+--------------+ | column_name | option_name | option_type | option_value | +-------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------+-------------------+---------------+--------------+
En el siguiente ejemplo equivalente, que no usa ALL COLUMNS
, se establece el nivel de detalle predeterminado de la columna de índice en COLUMN
y, de forma individual, se establece el nivel de detalle de dos columnas en GLOBAL
y COLUMN
, respectivamente:
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';
El resultado es similar al siguiente:
+-------------+-------------------+---------------+--------------+ | column_name | option_name | option_type | option_value | +-------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------+-------------------+---------------+--------------+