Hvordan du bruker elasticsearch spørring_string

Hvordan du bruker elasticsearch spørring_string
Elasticsearch Query String lar deg hente dokumenter basert på en spesifisert spørringsstreng.

Query_String bruker en analyser med streng syntaks. Derfor returnerer det en feil hvis spørringsbegrepet inneholder feil syntaks. Dette er forskjellig fra den enkle spørringsstrengen.

La oss se på hvordan vi kan bruke Query_String i Elasticsearch.

For å forstå hvordan du bruker Query_String -spørringen, vil vi se på noen få eksempler.

Elasticsearch Query_String Brukseksempler

I denne opplæringen vil vi bruke den globale Kibana_Sample_Data_Flights Index.

Eksempel 1

Anta at vi ønsker å hente dokumentene der DestcityName er Denver? Vi kan lage en enkel spørring som:

Få /kibana_sample_data_flights /_search?Q = DestCityName: Denver

Eksemplet er en enkel spørring som søker i feltet DestCityName der verdien er Denver.

Her er en illustrasjon av eksemplet som resulterer i poster:

Vi kan også implementere spørringen ovenfor ved hjelp av spørringsparameteren, som vist nedenfor:

Få /kibana_sample_data_flights /_search

"spørring":
"query_string":
"Default_field": "DestcityName",
"Query": "Denver"


Eksemplet ovenfor utfører en lignende funksjonalitet som enkeltlinjen som er vist tidligere. Den ovenfor er imidlertid mer lesbar og lett å utvide og bruke filtre.

Eksempel 2

Vi kan også bruke boolske operatører som hvor destcityName er enten Denver eller Sydney.

For å gjøre dette, kan vi utføre et spørsmål som:

Få /kibana_sample_data_flights /_search

"spørring":
"query_string":
"Default_field": "DestcityName",
"Query": "(Sydney) eller (Denver)"


I eksemplet over kan destcityName være enten Denver eller Sydney.

Eksempelutgang:

Eksempel 3

Anta at du vil få dokumentene der flytiden er større enn 10 timer, men mindre enn 15 timer.

I et slikt eksempel kan vi bruke boolsk og som vist:

Få /kibana_sample_data_flights /_search

"spørring":
"query_string":
"Default_field": "FlightimeHour",
"spørring": "(> = 10) og (<=15)"


De resulterende dokumentene inkluderer:

Eksempel 4

Anta at vi ønsker å søke på flere felt? Vi kan passere målfeltene ved å bruke feltene i en matrise som:

Få /kibana_sample_data_flights /_search

"spørring":
"query_string":
"Fields": ["DestCityName", "Destweather"],
"spørring": "Denver og regn"


I eksemplet over søker vi etter dokumenter der DestCityName er Denver og Destweather er regn.

Vi kan få eksempler på resultater som:

Lukking

Denne guiden lærte deg å bruke Elasticsearch Query_String -spørringen for å hente dokumenter som samsvarer med en spesifikk spørringsstreng.