Introduzione alla ricerca in BigQuery
Gli indici della Ricerca di BigQuery ti consentono di trovare in modo efficiente elementi di dati univoci nascosti in testi non strutturati e dati JSON semistrutturati senza conoscere in anticipo gli schemi delle tabelle. Gli indici della Ricerca combinano un archivio colonnare con la Ricerca testuale per consentirti di eseguire ricerche di righe efficienti per attività come l'analisi dei log, gli audit di sicurezza e i rapporti per la conformità normativa.
BigQuery archivia e gestisce gli indici in modo che, quando i dati diventano disponibili in BigQuery, puoi recuperarli immediatamente con la funzione SEARCH o con altri operatori e funzioni supportati. Per ottimizzare le ricerche, leggi le best practice.
Casi d'uso
Gli indici della Ricerca di BigQuery ti aiutano a eseguire le seguenti attività:
- Cerca nei log di sistema, di rete o delle applicazioni archiviati nelle tabelle BigQuery.
- Identifica gli elementi di dati da eliminare per rispettare i processi normativi.
- Supportare la risoluzione dei problemi degli sviluppatori.
- Eseguire audit della sicurezza.
- Creare una dashboard che richiede filtri di ricerca altamente selettivi.
- Cerca corrispondenze esatte nei dati pre-elaborati.
Per saperne di più, consulta Creare un indice della Ricerca e Eseguire ricerche con un indice della Ricerca.
Prezzi
Non è previsto alcun addebito per l'elaborazione richiesta per creare e aggiornare gli indici di ricerca quando la dimensione totale delle tabelle indicizzate nella tua organizzazione è inferiore al limite della tua regione. Per supportare l'indicizzazione oltre questo limite, devi fornire la tua prenotazione per la gestione dei job di gestione dell'indice.
Gli indici della Ricerca comportano costi di archiviazione quando sono attivi.
Puoi trovare le dimensioni dello spazio di archiviazione dell'indice nella
vista INFORMATION_SCHEMA.SEARCH_INDEXES.
Ruoli e autorizzazioni
Per creare un indice della Ricerca, devi disporre dell'autorizzazione IAM bigquery.tables.createIndex sulla tabella in cui stai creando l'indice. Per eliminare un indice della Ricerca, devi disporre dell'autorizzazione bigquery.tables.deleteIndex. Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per utilizzare gli indici della Ricerca:
- BigQuery Data Owner (
roles/bigquery.dataOwner) - BigQuery Data Editor (
roles/bigquery.dataEditor) - Amministratore BigQuery (
roles/bigquery.admin)
Limitazioni
- Non puoi creare un indice della Ricerca direttamente su una vista o una vista materializzata, ma la chiamata alla funzione
SEARCHsu una vista di una tabella indicizzata utilizza l'indice della Ricerca sottostante. - Non puoi creare un indice della Ricerca su una tabella esterna.
- Se rinomini una tabella dopo aver creato un indice della Ricerca, l'indice diventa non valido.
- La funzione
SEARCHè progettata per le ricerche di punti. La ricerca approssimativa, la correzione degli errori di battitura, i caratteri jolly e altri tipi di ricerche di documenti non sono disponibili. - Se l'indice della Ricerca non ha ancora una copertura del 100%, ti verrà comunque addebitato tutto lo spazio di archiviazione dell'indice riportato nella vista
INFORMATION_SCHEMA.SEARCH_INDEXES. - Le query che utilizzano la funzione
SEARCHo sono ottimizzate dagli indici della Ricerca non vengono accelerate da BigQuery BI Engine. Gli indici della Ricerca non vengono utilizzati quando la tabella indicizzata viene modificata da un'istruzione DML, ma possono essere utilizzati quando il predicato ottimizzabile dagli indici della Ricerca fa parte di una sottoquery in un'istruzione DML.
- Un indice della Ricerca non viene utilizzato nella seguente query:
DELETE FROM my_dataset.indexed_table WHERE SEARCH(user_id, '123');
- Un indice della Ricerca può essere utilizzato nella seguente query:
DELETE FROM my_dataset.other_table WHERE user_id IN ( SELECT user_id FROM my_dataset.indexed_table WHERE SEARCH(user_id, '123') );
Gli indici della Ricerca non vengono utilizzati quando la query fa riferimento a viste materializzate.
Gli indici della Ricerca non vengono utilizzati in una query di transazione con più istruzioni.
Gli indici della Ricerca non vengono utilizzati in una query di viaggio nel tempo.
Passaggi successivi
- Scopri di più sulla creazione di un indice della Ricerca.
- Scopri di più sulla ricerca in una tabella con un indice della Ricerca.