Hva er forskjellen mellom Match og Boolean i Elasticsearch?

Hva Er Forskjellen Mellom Match Og Boolean I Elasticsearch



Elasticsearch er en søkemotor som bruker Apache Lucene-biblioteker fra programmeringsspråket Java og brukes av millioner. Det gjør det mulig for brukeren å lagre data i sin analysedatabase, og brukeren kan også lage indekser og lagre data i dem. Brukeren kan også bruke forskjellige spørringer for å hente data fra tabellene/indeksene og få nyttig informasjon gjennom det.

Denne veiledningen vil forklare forskjellen mellom Match og boolske søk i Elasticsearch.







Hva er matchen i Elasticsearch?

Match-spørringen i Elasticsearch er veldig grei siden den inneholder en fulltekstbetingelse for å hente data fra databasen. Match-søk tar dataene fra indeksen og gjør dem om til en matrise og søker deretter etter de ønskede søkeordene fra den som gjør det effektivt å hente data.



Hva er boolsk i Elasticsearch?

Boolsk spørring i Elasticsearch kombinerer flere spørringer til boolske utsagn og viser det resulterende dokumentet fra databasen. Den boolske spørringen har flere klausuler som er som følger:



    • filter
    • bør
    • må ikke

Hva er forskjellen mellom Match og Boolean i Elasticsearch?

Den følgende delen forklarer forskjellen mellom Match og boolsk aggregering ved hjelp av eksempler. La deg følge prosedyren nedenfor:





Koble til Elasticsearch og Kibana

For å bruke Match og boolske spørringer i Elasticsearch, åpne terminalen fra bin-katalogen til Elasticsearch og bruk følgende kommando:



elasticsearch.bat



Gå deretter inn i bin-katalogen til Kibana fra det lokale systemet for å åpne terminalen og bruk følgende kommando:

kibana.bat



Bruk den lokale verten med portnummeret 9200 i nettleseren for å logge på Elasticsearch:

lokal vert: 9200



Igjen, bruk localhost på nettleseren, men med et portnummer 5601 for å logge på Kibana UI:

lokal vert: 5601



Gå inn i ' Utviklerverktøy ”-konsoll fra Kibana-siden fra søkefeltet:


Syntaks for Match Query

Følgende er den grunnleggende syntaksen for Match-søket med en GET-forespørsel om å hente data:

/ _Søk
{
'spørsmål' : {
'kamp' : {
'beskjed' : {
'spørsmål' : 'Dette er en test'
}
}
}
}


Utdraget ovenfor foreslår:

    • Koden begynner med a be om å bruke Søk API for å hente data fra database og brukeren kan legge til en indeksnavn etter søkeordet GET.
    • De spørsmål nøkkelordet inneholder kamp klausul som får beskjed fra indeksen eller databasen og deretter data er nevnt i spørsmål setning på slutten.

Bruk Match Query

Denne delen forklarer et praktisk eksempel på bruk av Match-spørringen og viser dataene fra demo-indeks bruker en be om:

/ demo-indeks / _Søk



Bruk følgende kode for å utføre Match-søket i Elasticsearch på ' demo-indeks ' for å bruke spørringen på ' watson ' Navn:

/ demo-indeks / _Søk
{
'spørsmål' : {
'kamp' : {
'Navn' : {
'spørsmål' : 'watson'
}
}
}
}



Syntaks for boolsk spørring

Følgende er den grunnleggende syntaksen for den boolske spørringen med en GET-forespørsel om å hente data fra databasen:

/ _Søk
{
'spørsmål' : {
'bool' : {
'klausul' : {
'felt' : 'begrep'
}
}
}
}


Utdraget ovenfor foreslår:

    • De forespørsel brukes til å hente data fra indeksen ved hjelp av søke-API .
    • De spørsmål nøkkelordet inneholder bool for spørringen som inneholder dens klausul for å bruke spørringen på indeksen eller databasen og deretter data hentes og vises på skjermen.

Bruk boolsk spørring

Følgende spørring bruker den boolske spørringen for å hente data fra ' demo-indeks ' bruker ' ' klausul og kombinere to spørringer av ' Betegnelse ' med ' Navn ':

/ demo-indeks / _Søk
{
'spørsmål' : {
'bool' : {
'må' : [
{
'begrep' : {
'Betegnelse' : 'Allrounder'
}
} ,
{
'begrep' : {
'Navn' : 'Anderson'
}
}
]
}
}
}


Denne kombinasjonen vil lage en boolsk setning for å bruke spørringen på indeksen:


Det handler om forskjellene mellom Match og boolske søk i Elasticsearch.

Konklusjon

Match og Boolean er to spørringer som brukes i Elasticsearch for å hente data fra analysedatabasen eller fra indeksen opprettet av brukeren. Match-spørring konverterer dataene til matriser og henter data fra matrisen for å gjøre prosessen mer effektiv. Boolsk spørring bruker flere spørringer for å lage én setning og bruker en spørring på indeksen for å hente data. Denne veiledningen har forklart forskjellene mellom Match og boolske spørringer i Elasticsearch for å hente data fra databasen.