Visualizzazione SEARCH_INDEXES

La visualizzazione INFORMATION_SCHEMA.SEARCH_INDEXES contiene una riga per ogni 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 il seguente schema:

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 che contiene l'indice.
table_name STRING Il nome della tabella di base in 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 il coverage_percentage per verificare l'avanzamento della creazione dell'indice.
  • PENDING DISABLEMENT indica che il totale le dimensioni delle tabelle di base indicizzate superano quelle limit; l'indice è in coda per l'eliminazione. In questo stato, l'indice è utilizzabile query di ricerca e ti viene addebitato il costo dell'archiviazione dell'indice di ricerca.
  • TEMPORARILY DISABLED indica che il totale le dimensioni delle tabelle di base indicizzate superano quelle limit o la base è 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 significa che l'indice non è ancora disponibile.
disable_time TIMESTAMP L'ora in cui lo stato dell'indice è stato impostato su DISABLED. La il valore è NULL se lo stato dell'indice non è DISABLED.
disable_reason STRING Il motivo per cui l'indice è stato disabilitato. 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 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 specificato, viene utilizzato il progetto predefinito.
  • DATASET_ID: l'ID del set di dati. Per ulteriori informazioni consulta la sezione 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 nel set di dati my_dataset, situato nel progetto my_project. Sono inclusi i loro nomi, le istruzioni DDL utilizzate per crearle, la relativa percentuale di copertura e analizzatore di 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   |
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+