Wildcard Query Elasticsearch

Wildcard Query Elasticsearch

Et jokertegn refererer til en spesiell plassholderkarakter som er tolket og erstattet med forskjellige iterasjoner basert på dens beliggenhet. Å bruke jokertegn er vanlig når du utfører søk, spesielt der målsøket ikke er kjent.

I Elasticsearch er det to måter å søke etter elementer uten å vite den nøyaktige samsvaren. Den første er å bruke fuzziness (sjekk opplæringen vår om emnet), og den andre er å bruke jokertegnsøk.

Denne opplæringen vil lære deg hvordan du bruker wildcard -søket for å finne elementer uten å vite den nøyaktige samsvaret.

Grunnleggende bruk

For å illustrere hvordan du bruker Elasticserch Wildcard-spørringen, vil vi bruke Kibana-prøven-e-handelsdataindeksen.

I indeksen har vi kundenes informasjon. Anta at vi ønsker å få resultatene der kundens fornavn samsvarer med J*y.

Vi kan utføre et spørsmål som vist:

Få /kibana_sample_data_ecommerce /_search?ganske

"spørring":
"Wildcard":
"customer_first_name":
"Verdi": "J*n",
"Boost": 2



Hvis vi utfører forespørselen på indeksen, bør vi få dokumentene der Customer_first_name starter med en j og slutter med en n.

Et eksempel på skjermbildet av responsen er nedenfor:

Anta at vi vet det nøyaktige antallet tegn i navnet. For eksempel er vi ikke sikre på om det er Jim eller Jimmy; Vi kan bruke ? karakter som:

Få /kibana_sample_data_ecommerce /_search?ganske

"spørring":
"Wildcard":
"customer_first_name":
"Verdi": "J?m*",
"Boost": 2



Eksempelforespørselen skal returnere dokumentene der fornavnet starter med en j, inkluderer ett enkelt tegn, etterfulgt av et bokstav M og andre tegn.

Nedenfor er et eksempel svar:

Wildcard -spørringsparametere

Du kan spesifisere forskjellige parametere for å endre hvordan Wildcard -spørringen fungerer. Slike parametere inkluderer:

  1. Felt - Feltet for å søke etter et matchende mønster. Denne parameteren er ikke valgfri. I vårt eksempel over er feltet satt til customer_first_name.
  2. Verdi - Dette definerer jokertegnmønsteret for å søke. Et enkelt spørsmålstegn indikerer et enkelt tegn, mens en * betyr null eller flere tegn, inkludert et tomt tegn. Verdiparameteren er ikke valgfri.
  3. Øke - Boost -parameteren øker eller reduserer poengvekten til søket. Dette er en valgfri parameter og er satt til 1.0 som standard. For å øke poengvekten, sett en verdi høyere enn 1.0 og en verdi mindre enn 1.0 for å redusere poengsummen.

Konklusjon

I denne artikkelen forklarte vi hvordan du bruker Wildcard Search -spørsmålene i Elasticsearch. Tenk på dokumentasjonen eller våre emner på Elasticsearch for å lære mer.