Query_string utilizza un parser con una sintassi rigorosa. Quindi, restituisce un errore se il termine di query fornito contiene una sintassi errata. Questo è diverso dalla semplice stringa di query.
Diamo un'occhiata a come possiamo usare query_string in elasticsearch.
Per capire come utilizzare la query query_string, esamineremo alcuni esempi.
Esecuti di utilizzo di ElaSticSearch query_string
In questo tutorial, useremo l'indice globale Kibana_Sample_Data_Flights.
Esempio 1
Supponiamo di voler recuperare i documenti in cui il DestCityName è Denver? Possiamo creare una semplice domanda come:
Get /kibana_sample_data_flights /_search?Q = DestcityName: Denver
L'esempio è una semplice query che cerca il campo DestCityName in cui il valore è Denver.
Ecco un'illustrazione dell'esempio che risulta i record:
Possiamo anche implementare la query sopra utilizzando il parametro query_string, come mostrato di seguito:
Get /kibana_sample_data_flights /_search
"query":
"stringa della domanda":
"Default_field": "DestCityName",
"Query": "Denver"
L'esempio sopra esegue una funzionalità simile a quella singola-liner mostrata in precedenza. Tuttavia, quello sopra è più leggibile e facile da espandere e applicare i filtri.
Esempio 2
Possiamo anche usare operatori booleani come Where DestityName è Denver o Sydney.
Per fare questo, possiamo eseguire una domanda come:
Get /kibana_sample_data_flights /_search
"query":
"stringa della domanda":
"Default_field": "DestCityName",
"Query": "(Sydney) o (Denver)"
Nell'esempio sopra, il DestCityName può essere Denver o Sydney.
Esempio di output:
Esempio 3
Supponiamo di voler ottenere i documenti in cui il tempo di volo è superiore a 10 ore ma meno di 15 ore.
In tale esempio, possiamo usare booleano e come mostrato:
Get /kibana_sample_data_flights /_search
"query":
"stringa della domanda":
"Default_field": "FlightTimeHour",
"query": "(> = 10) e (<=15)"
I documenti risultanti includono:
Esempio 4
Supponiamo di voler cercare più campi? Possiamo passare i campi target usando i campi in un array come:
Get /kibana_sample_data_flights /_search
"query":
"stringa della domanda":
"Fields": ["DestCityName", "Destweather"],
"Query": "Denver e Rain"
Nell'esempio sopra, cerchiamo documenti in cui il DestCityName è Denver e Destweather è pioggia.
Possiamo ottenere risultati di esempio come:
Chiusura
Questa guida ti ha insegnato a utilizzare la query ElasticSearch query_string per recuperare i documenti corrispondenti a una stringa di query specifica.