Introduzione alla ricerca in BigQuery

Gli indici di ricerca BigQuery consentono di usare GoogleSQL per trovare facilmente elementi di dati unici sepolti in testo non strutturato e Dati JSON, senza dover conoscere in anticipo gli schemi delle tabelle.

Grazie agli indici di ricerca, BigQuery offre un potente archivio a colonne e la ricerca testuale in un'unica piattaforma, consentendo ricerche di righe efficienti quando ne hai bisogno per trovare singole righe di dati. Un caso d'uso comune è l'analisi dei log. Ad esempio: potresti voler identificare le righe di dati associate a un utente per la generazione di report sul Regolamento sulla protezione dei dati (GDPR) o per trovare codici di errore specifici un payload di testo.

BigQuery archivia e gestisce gli indici, in modo che quando i dati disponibile in BigQuery, puoi recuperarlo immediatamente con Funzione SEARCH. Scopri di più sulle best practice per utilizzando la funzione SEARCH.

Casi d'uso

Gli indici di ricerca di BigQuery consentono di eseguire le seguenti attività:

  • Cerca log di sistema, di rete o delle applicazioni archiviati in BigQuery tabelle.
  • Identificare gli elementi dei dati da eliminare per rispettare i processi normativi.
  • Assistenza per la risoluzione dei problemi degli sviluppatori.
  • Eseguire controlli di sicurezza.
  • Crea una dashboard che richieda filtri di ricerca altamente selettivi.
  • Cercare i dati pre-elaborati per trovare corrispondenze esatte.

Per ulteriori informazioni, vedi Crea un indice di ricerca e Effettua una ricerca con un indice.

Prezzi

Non è previsto alcun costo per l'elaborazione richiesta per creare e aggiornare la tua ricerca. indicizza quando la dimensione totale delle tabelle indicizzate nella tua organizzazione è inferiore a della tua regione limite. Per supportare l'indicizzazione oltre questo limite, è necessario fornire una prenotazione per la gestione dei job di gestione degli indici. Gli indici di ricerca comportano costi di archiviazione quando sono attivi. Puoi trovare le dimensioni dello spazio di archiviazione dell'indice nel INFORMATION_SCHEMA.SEARCH_INDEXES visualizzazione.

Ruoli e autorizzazioni

Per creare un indice di ricerca, è necessario Autorizzazione IAM bigquery.tables.createIndex nella tabella in cui stai creando l'indice. Per rilasciare un indice di ricerca, l'autorizzazione bigquery.tables.deleteIndex. Ciascuno dei seguenti valori predefiniti I ruoli IAM includono le autorizzazioni con cui devi lavorare indici di ricerca:

  • Proprietario dati BigQuery (roles/bigquery.dataOwner)
  • Editor dati BigQuery (roles/bigquery.dataEditor)
  • Amministratore BigQuery (roles/bigquery.admin)

Limitazioni

  • Non puoi creare un indice di ricerca direttamente in una vista o in una vista materializzata, ma chiamando il Funzione SEARCH di una tabella indicizzata utilizza l'indice di ricerca sottostante.
  • Se rinomini una tabella dopo aver creato un indice di ricerca al suo interno, non è più valido.
  • La funzione SEARCH è progettata per le ricerche per punto. Ricerca indistinta, la correzione di errori di battitura, caratteri jolly e altri tipi di ricerche nei documenti non disponibili.
  • Se l'indice di ricerca non ha ancora una copertura al 100%, ti vengono comunque addebitate tutte l'archiviazione degli indici riportata nella directory INFORMATION_SCHEMA.SEARCH_INDEXES visualizzazione.
  • Le query che contengono la funzione SEARCH non vengono accelerate da BigQuery BI Engine.
  • Gli indici di ricerca non vengono utilizzati se la tabella indicizzata viene modificata da un DML ma possono essere utilizzate quando la funzione SEARCH fa parte di un in un'istruzione DML.

    • Nella query seguente non viene utilizzato un indice di ricerca:
    DELETE FROM my_dataset.indexed_table
    WHERE SEARCH(user_id, '123');
    
    • Nella query seguente può essere utilizzato un indice di ricerca:
    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 di ricerca non vengono utilizzati quando la query fa riferimento alle viste materializzate.

Passaggi successivi