Vue SEARCH_INDEX_COLUMN_OPTIONS
La vue INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
contient une ligne pour chaque option définie sur une colonne indexée pour la recherche dans les tables d'un ensemble de données.
Autorisations requises
Pour afficher les métadonnées d'index de recherche, vous devez disposer de l'autorisation IAM (gestion de l'authentification et des accès) bigquery.tables.get
ou bigquery.tables.list
sur la table contenant l'index. Chacun des rôles IAM prédéfinis suivants inclut au moins l'une de ces autorisations :
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.
Schéma
Lorsque vous interrogez la vueINFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS
, les résultats de la requête contiennent une ligne pour chaque option définie sur une colonne indexée pour la recherche dans les tables d'un ensemble de données.
La vue INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
présente le schéma suivant :
Nom de la colonne | Type de données | Valeur |
---|---|---|
index_catalog |
STRING |
Nom du projet qui contient l'ensemble de données. |
index_schema |
STRING |
Nom de l'ensemble de données contenant l'index. |
table_name |
STRING |
Nom de la table de base sur laquelle l'index est créé. |
index_name |
STRING |
Nom de l'index. |
column_name |
STRING |
Nom de la colonne indexée sur laquelle l'option est définie. |
option_name |
STRING |
Nom de l'option spécifiée dans la colonne. |
option_type |
STRING |
Type de l'option. |
option_value |
STRING |
Valeur de l'option. |
Champ d'application et syntaxe
Les requêtes exécutées sur cette vue doivent être associées à un qualificatif d'ensemble de données. Le tableau suivant explique le champ d'application de la région pour cette vue :
Nom de la vue | Champ d'application de la ressource | Champ d'application de la région |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS |
Niveau de l'ensemble de données | Emplacement de l'ensemble de données |
-
PROJECT_ID
(facultatif) : ID de votre projet Trusted Cloud . Si non spécifié, le projet par défaut est utilisé. -
DATASET_ID
: ID de votre ensemble de données. Pour en savoir plus, consultez la section Qualificatif d'ensemble de données.
Exemple
-- Returns metadata for search index column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;
Exemple
L'exemple suivant définit la précision de la colonne d'index par défaut sur COLUMN
, et définit individuellement la précision de col2
et col3
sur GLOBAL
et COLUMN
, respectivement. Dans cet exemple, les colonnes col2
et col3
apparaissent dans les résultats, car leur précision est définie de manière explicite. La précision de la colonne col1
n'est pas affichée, car elle utilise la précision par défaut.
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';
Le résultat ressemble à ce qui suit :
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+
L'exemple équivalent suivant, qui n'utilise pas ALL COLUMNS
, définit la précision par défaut de la colonne d'index sur COLUMN
et définit individuellement la précision de deux colonnes sur GLOBAL
et COLUMN
, respectivement :
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';
Le résultat ressemble à ce qui suit :
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+