Come utilizzare Elasticsearch query_string

Come utilizzare Elasticsearch query_string
La stringa di query di Elasticsearch consente di recuperare i documenti in base a una stringa di query specificata.

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.