Visualizzazione SEARCH_INDEX_OPTIONS
La visualizzazione INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS contiene una riga per ogni
opzione di indice di ricerca in 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_OPTIONS, i risultati della query contengono una riga per ogni opzione di indice di ricerca in 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. | 
| option_name | STRING | Il nome dell'opzione, che può essere uno dei seguenti: analyzer,analyzer_options,data_typesodefault_index_column_granularity. | 
| 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_OPTIONS | A livello di set di dati | Posizione del set di dati | 
- 
  (Facoltativo) PROJECT_ID: l'ID del 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 options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS;
Esempio
L'esempio seguente crea tre opzioni di indicizzazione per le colonne di
table1 ed estrae queste opzioni dai campi indicizzati:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS ( analyzer = 'LOG_ANALYZER', analyzer_options = '{ "delimiters" : [".", "-"] }', data_types = ['STRING', 'INT64', 'TIMESTAMP'] ); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
Il risultato è simile al seguente:
+------------+------------------+---------------+----------------------------------+
| index_name |  option_name     | option_type   | option_value                     |
+------------+------------------+---------------+----------------------------------+
| myIndex    | analyzer         | STRING        | LOG_ANALYZER                     |
| myIndex    | analyzer_options | STRING        | { "delimiters": [".", "-"] }     |
| myIndex    | data_types       | ARRAY<STRING> | ["STRING", "INT64", "TIMESTAMP"] |
+------------+------------------+---------------+----------------------------------+
L'esempio seguente crea un'opzione di indice di ricerca per le colonne di table1
e poi estrae queste opzioni dai campi indicizzati. Se un'opzione non esiste, viene generata l'opzione predefinita:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS) OPTIONS ( analyzer = 'NO_OP_ANALYZER' ); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
Il risultato è simile al seguente:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | NO_OP_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+
L'esempio seguente non crea opzioni di indicizzazione della ricerca per le colonne di table1
e poi estrae le opzioni predefinite dai campi indicizzati:
CREATE SEARCH INDEX myIndex ON `mydataset.table1` (ALL COLUMNS); SELECT index_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS WHERE table_name='table1';
Il risultato è simile al seguente:
+------------+------------------+---------------+----------------+ | index_name | option_name | option_type | option_value | +------------+------------------+---------------+----------------+ | myIndex | analyzer | STRING | LOG_ANALYZER | | myIndex | data_types | ARRAY<STRING> | ["STRING"] | +------------+------------------+---------------+----------------+