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 o
data_types .
|
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 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 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"] | +------------+------------------+---------------+----------------+