Visualizzazione SEARCH_INDEX_COLUMN_OPTIONS
La visualizzazione INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS contiene una riga per
ogni opzione impostata su una colonna indicizzata per la ricerca nelle tabelle di un set di dati.
Autorizzazioni obbligatorie
Per visualizzare i metadati dell'indice di ricerca, devi disporre dell'autorizzazione
bigquery.tables.get o bigquery.tables.list Identity and Access Management (IAM)
sulla 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 saperne di più sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla visualizzazioneINFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS, i risultati della query contengono una riga per ogni opzione impostata in una colonna indicizzata per la ricerca nelle tabelle di un set di dati.
La vista INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS 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 che contiene 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_column_name | STRING | Il nome della colonna indicizzata su cui è impostata l'opzione. | 
| option_name | STRING | Il nome dell'opzione specificata nella colonna. | 
| option_type | STRING | Il tipo di opzione. | 
| option_value | STRING | Il valore dell'opzione. | 
Ambito e sintassi
Le query su questa visualizzazione devono avere un qualificatore del set di dati. La tabella seguente spiega l'ambito della regione per questa visualizzazione:
| Visualizza nome | Ambito risorsa | Ambito regione | 
|---|---|---|
| [PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS | Livello del set di dati | Posizione del set di dati | 
- 
  (Facoltativo) PROJECT_ID: l'ID del tuo Google Cloud progetto. Se non specificato, viene utilizzato il progetto predefinito.
- 
  DATASET_ID: l'ID del set di dati. Per maggiori informazioni, vedi Qualificatore del set di dati.
Esempio
-- Returns metadata for search index column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;
Esempio
L'esempio seguente imposta la granularità predefinita della colonna dell'indice su COLUMN e
imposta individualmente la granularità per col2 e col3 su GLOBAL e COLUMN
rispettivamente. In questo esempio, le colonne col2 e col3 vengono visualizzate nei risultati
perché la loro granularità è impostata in modo esplicito. La granularità per la colonna
col1 non viene mostrata perché utilizza la granularità predefinita.
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( ALL COLUMNS WITH COLUMN OPTIONS ( col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
Il risultato è simile al seguente:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+
Il seguente esempio equivalente, che non utilizza ALL COLUMNS, imposta la granularità predefinita della colonna dell'indice su COLUMN e imposta individualmente la granularità di due colonne su GLOBAL e COLUMN rispettivamente:
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( col1, col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
Il risultato è simile al seguente:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+