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 IAM (Identity and Access Management) bigquery.tables.get
o bigquery.tables.list
per la 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 ulteriori informazioni 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_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 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. |
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 vista devono avere un qualificatore del set di dati. La tabella seguente illustra l'ambito della regione per questa visualizzazione:
Visualizza nome | Ambito risorsa | Ambito regione |
---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS |
A livello di set di dati | Posizione del set di dati |
-
(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 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 singolarmente 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:
+-------------+-------------------+---------------+--------------+ | 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à della colonna dell'indice predefinita su COLUMN
e imposta singolarmente la granularità per 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:
+-------------+-------------------+---------------+--------------+ | column_name | option_name | option_type | option_value | +-------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------+-------------------+---------------+--------------+