Vue SEARCH_INDEXES
La vue INFORMATION_SCHEMA.SEARCH_INDEXES
contient une ligne pour chaque index de recherche 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_INDEXES
, les résultats de la requête contiennent une ligne pour chaque index de recherche d'un ensemble de données.
La vue INFORMATION_SCHEMA.SEARCH_INDEXES
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. |
index_status |
STRING |
État de l'index : ACTIVE , PENDING
DISABLEMENT , TEMPORARILY DISABLED ou PERMANENTLY DISABLED .
|
creation_time |
TIMESTAMP |
Heure de création de l'index. |
last_modification_time |
TIMESTAMP |
Heure de la dernière modification de la configuration d'index. Par exemple, la suppression d'une colonne indexée. |
last_refresh_time |
TIMESTAMP |
Date et heure de la dernière indexation de la table. Une valeur NULL signifie que l'index n'est pas encore disponible. |
disable_time |
TIMESTAMP |
Heure à laquelle l'état de l'index a été défini sur DISABLED . La valeur est NULL si l'état de l'index n'est pas DISABLED . |
disable_reason |
STRING |
Raison de la désactivation de l'index. NULL si l'état de l'index n'est pas DISABLED . |
DDL |
STRING |
Instruction LDD utilisée pour créer l'index. |
coverage_percentage |
INTEGER |
Pourcentage approximatif des données de table qui ont été indexées. Une valeur de 0 % signifie que l'index n'est pas utilisable dans une requête SEARCH , même si certaines données ont déjà été indexées. |
unindexed_row_count |
INTEGER |
Nombre de lignes de la table de base qui n'ont pas été indexées. |
total_logical_bytes |
INTEGER |
Nombre d'octets logiques facturables pour l'index. |
total_storage_bytes |
INTEGER |
Nombre d'octets de stockage facturables de l'index. |
analyzer |
STRING |
Analyseur de texte à utiliser pour générer des jetons pour l'index de recherche. |
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_INDEXES |
Niveau de l'ensemble de données | Emplacement d'un ensemble de données |
Facultatif : PROJECT_ID
: ID de votre projet Google 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 indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEXES;
Exemple
L'exemple suivant montre tous les index de recherche actifs sur les tables de l'ensemble de données my_dataset
, situées dans le projet my_project
. Cela inclut leur nom, les instructions LDD utilisées pour les créer, leur pourcentage de couverture et leur analyseur de texte. Si une table de base indexée est inférieure à 10 Go, son index n'est pas renseigné, auquel cas coverage_percentage
est égal à 0.
SELECT table_name, index_name, ddl, coverage_percentage, analyzer
FROM my_project.my_dataset.INFORMATION_SCHEMA.SEARCH_INDEXES
WHERE index_status = 'ACTIVE';
Les résultats doivent se présenter sous la forme suivante :
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | 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 | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+