Visualizzazione SEARCH_INDEXES
La vista INFORMATION_SCHEMA.SEARCH_INDEXES
contiene una riga per ogni indice di ricerca in un set di dati.
Autorizzazioni obbligatorie
Per visualizzare i metadati dell'indice di ricerca, devi disporre dell'autorizzazione IAM (Identity and Access Management) bigquery.tables.get
o bigquery.tables.list
per la tabella con l'indice. Ciascuno dei seguenti ruoli IAM predefiniti include almeno una di queste autorizzazioni:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.dataViewer
roles/bigquery.metadataViewer
roles/bigquery.user
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla visualizzazioneINFORMATION_SCHEMA.SEARCH_INDEXES
, i risultati della query contengono una riga per ogni indice di ricerca in un set di dati.
La vista INFORMATION_SCHEMA.SEARCH_INDEXES
ha lo schema seguente:
Nome colonna | Tipo di dati | Valore |
---|---|---|
index_catalog |
STRING |
Il nome del progetto che contiene il set di dati. |
index_schema |
STRING |
Il nome del set di dati contenente l'indice. |
table_name |
STRING |
Il nome della tabella di base su cui viene creato l'indice. |
index_name |
STRING |
Il nome dell'indice. |
index_status |
STRING |
Lo stato dell'indice: ACTIVE , PENDING
DISABLEMENT , TEMPORARILY DISABLED o
PERMANENTLY DISABLED .
|
creation_time |
TIMESTAMP |
L'ora in cui è stato creato l'indice. |
last_modification_time |
TIMESTAMP |
L'ultima volta che è stata modificata la configurazione dell'indice. Ad esempio, l'eliminazione di una colonna indicizzata. |
last_refresh_time |
TIMESTAMP |
L'ultima volta che i dati della tabella sono stati indicizzati. Un valore NULL
indica che l'indice non è ancora disponibile. |
disable_time |
TIMESTAMP |
L'ora in cui lo stato dell'indice è stato impostato su DISABLED . Il valore è NULL se lo stato dell'indice non è DISABLED . |
disable_reason |
STRING |
Il motivo per cui l'indice è stato disattivato. NULL se lo stato
dell'indice non è DISABLED . |
DDL |
STRING |
L'istruzione DDL utilizzata per creare l'indice. |
coverage_percentage |
INTEGER |
La percentuale approssimativa di dati della tabella che sono stati indicizzati. 0%
significa che l'indice non è utilizzabile in una query SEARCH , anche se alcuni dati sono già stati indicizzati. |
unindexed_row_count |
INTEGER |
Il numero di righe nella tabella di base che non sono state indicizzate. |
total_logical_bytes |
INTEGER |
Il numero di byte logici fatturabili per l'indice. |
total_storage_bytes |
INTEGER |
Il numero di byte di spazio di archiviazione fatturabili per l'indice. |
analyzer |
STRING |
L'analizzatore di testo da utilizzare per generare token per l'indice di ricerca. |
Ambito e sintassi
Le query su questa vista devono avere un qualificatore del set di dati. La tabella seguente illustra l'ambito della regione per questa visualizzazione:
Visualizza nome | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEXES |
A livello di set di dati | Posizione del set di dati |
Facoltativo: PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito.
DATASET_ID
: l'ID del set di dati. Per ulteriori informazioni, consulta Qualificatore del set di dati.
Esempio
-- Returns metadata for search indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEXES;
Esempio
L'esempio seguente mostra tutti gli indici di ricerca attivi nelle tabelle del set di datimy_dataset
, nel progetto my_project
. Sono inclusi i nomi, le istruzioni DDL utilizzate per crearli, la percentuale di copertura e l'analizza del testo. Se una tabella di base indicizzata è inferiore a 10 GB, il relativo indice non viene compilato, nel qual caso coverage_percentage
è 0.
SELECT table_name, index_name, ddl, coverage_percentage, analyzer
FROM my_project.my_dataset.INFORMATION_SCHEMA.SEARCH_INDEXES
WHERE index_status = 'ACTIVE';
I risultati dovrebbero essere simili ai seguenti:
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | 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 | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+