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, è necessario il valore bigquery.tables.get o bigquery.tables.list Identity and Access Management (IAM) autorizzazione nella tabella con l'indice. Ciascuno dei seguenti valori predefiniti I ruoli IAM includono 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 vista INFORMATION_SCHEMA.SEARCH_INDEXES, i risultati contiene 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 contenente 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.
  • ACTIVE significa che l'indice è utilizzabili o in fase di creazione. Consulta coverage_percentage per controllare lo stato di avanzamento della creazione dell'indice.
  • PENDING DISABLEMENT indica che le dimensioni totali delle tabelle di base indicizzate superano il limite dell'organizzazione. L'indice è in coda per l'eliminazione. In questo stato, l'indice è utilizzabile nelle query di ricerca e ti viene addebitato lo spazio di archiviazione dell'indice di ricerca.
  • TEMPORARILY DISABLED indica che le dimensioni totali delle tabelle di base indicizzate superano il limite della tua organizzazione oppure che la tabella di base indicizzata è inferiore a 10 GB. In questo stato, l'indice non viene utilizzato nelle query di ricerca e non ti viene addebitato alcun costo archiviazione degli indici di ricerca.
  • PERMANENTLY DISABLED indica che esiste una modifica allo schema incompatibile nella tabella di base, come la modifica del di colonna indicizzata da STRING a INT64.
creation_time TIMESTAMP Ora in cui è stato creato l'indice.
last_modification_time TIMESTAMP L'ultima volta che la configurazione dell'indice è stata modificata. 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 l'indice lo stato 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 Lo strumento di analisi del testo da utilizzare per generare token per l'indice di ricerca.

Ambito e sintassi

Le query relative a questa vista devono avere un qualificatore del set di dati. La la seguente tabella spiega l'ambito della regione per questa visualizzazione:

Visualizza nome Ambito risorsa Ambito della regione
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEXES Livello del set di dati Posizione del set di dati
Sostituisci quanto segue:

  • (Facoltativo) PROJECT_ID: l'ID del tuo progetto Google Cloud. Se non viene specificato, viene utilizzato il progetto predefinito.

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 nel set di dati my_dataset, situato 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 viene meno di 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   |
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+