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:
-
- må
- 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:
Bruk den lokale verten med portnummeret 9200 i nettleseren for å logge på Elasticsearch:
Igjen, bruk localhost på nettleseren, men med et portnummer 5601 for å logge på Kibana UI:
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:
FÅ / _Søk{
'spørsmål' : {
'kamp' : {
'beskjed' : {
'spørsmål' : 'Dette er en test'
}
}
}
}
Utdraget ovenfor foreslår:
-
- Koden begynner med a FÅ 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 FÅ be om:
FÅ / 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:
{
'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:
FÅ / _Søk{
'spørsmål' : {
'bool' : {
'klausul' : {
'felt' : 'begrep'
}
}
}
}
Utdraget ovenfor foreslår:
-
- De FÅ 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 ' må ' klausul og kombinere to spørringer av ' Betegnelse ' med ' Navn ':
FÅ / 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.