Hvad er forskellen mellem Match og Boolean i Elasticsearch?

Hvad Er Forskellen Mellem Match Og Boolean I Elasticsearch



Elasticsearch er en søgemaskine, der bruger Apache Lucene-biblioteker fra programmeringssproget Java og bliver brugt af millioner. Det gør det muligt for brugeren at gemme data i sin analysedatabase, og brugeren kan også oprette indekser og gemme data i dem. Brugeren kan også anvende forskellige forespørgsler for at få data fra tabellerne/indekserne og få nyttig information derigennem.

Denne vejledning vil forklare forskellen mellem Match og booleske forespørgsler i Elasticsearch.







Hvad er matchen i Elasticsearch?

Match-forespørgslen i Elasticsearch er meget ligetil, da den indeholder en fuldtekstbetingelse for at hente data fra databasen. Match-forespørgsel tager dataene fra indekset og omdanner dem til et array og søger derefter efter de ønskede søgeord fra det, hvilket gør det effektivt at hente data.



Hvad er Boolean i Elasticsearch?

Boolsk forespørgsel i Elasticsearch kombinerer flere forespørgsler til boolske udsagn og viser det resulterende dokument fra databasen. Den boolske forespørgsel har flere klausuler, som er som følger:



    • skal
    • filter
    • bør
    • må ikke

Hvad er forskellen mellem Match og Boolean i Elasticsearch?

Det følgende afsnit forklarer forskellen mellem Match og Boolean aggregering ved hjælp af eksempler. Lad dig følge nedenstående procedure:





Opret forbindelse til Elasticsearch og Kibana

For at bruge Match- og Boolean-forespørgslerne i Elasticsearch skal du åbne terminalen fra bin-mappen i Elasticsearch og bruge følgende kommando:



elasticsearch.bat



Gå derefter ind i bin-mappen på Kibana fra det lokale system for at åbne terminalen og bruge følgende kommando:

kibana.bat



Brug den lokale vært med portnummeret 9200 i webbrowseren til at logge ind på Elasticsearch:

lokal vært: 9200



Igen skal du bruge den lokale vært på webbrowseren, men med et portnummer 5601 for at logge ind på Kibana UI:

lokal vært: 5601



Gå ind i ' Udviklerværktøjer ”-konsollen fra Kibana-siden fra søgelinjen:


Syntaks for Match Query

Følgende er den grundlæggende syntaks for Match-forespørgslen med en GET-anmodning om at hente data:

/ _Søg
{
'forespørgsel' : {
'match' : {
'besked' : {
'forespørgsel' : 'Dette er en test'
}
}
}
}


Ovenstående uddrag foreslår:

    • Koden starter med a anmodning ved hjælp af Søg API at hente data fra database og brugeren kan tilføje en indeksnavn efter søgeordet GET.
    • Det forespørgsel nøgleordet indeholder match klausul, der får besked fra indekset eller databasen og derefter data er nævnt i forespørgsel sætning til sidst.

Brug Match Query

Dette afsnit forklarer et praktisk eksempel på brug af Match-forespørgslen og viser dataene fra demo-indeks ved hjælp af en anmodning:

/ demo-indeks / _Søg



Brug følgende kode til at udføre Match-forespørgslen i Elasticsearch på ' demo-indeks ' for at anvende forespørgsel på ' watson ' navn:

/ demo-indeks / _Søg
{
'forespørgsel' : {
'match' : {
'navn' : {
'forespørgsel' : 'watson'
}
}
}
}



Syntaks for boolesk forespørgsel

Følgende er den grundlæggende syntaks for den boolske forespørgsel med en GET-anmodning om at hente data fra databasen:

/ _Søg
{
'forespørgsel' : {
'bool' : {
'klausul' : {
'Mark' : 'semester'
}
}
}
}


Ovenstående uddrag foreslår:

    • Det anmodning bruges til at hente data fra indekset vha søge API .
    • Det forespørgsel nøgleordet indeholder bool for den forespørgsel, der indeholder dens klausul for at anvende forespørgslen på indekset eller databasen og derefter data hentes og vises på skærmen.

Brug Boolean Query

Følgende forespørgsel bruger den boolske forespørgsel til at hente data fra ' demo-indeks ' bruger ' skal '-klausul og kombinere to forespørgsler af ' Betegnelse ' med ' Navn ”:

/ demo-indeks / _Søg
{
'forespørgsel' : {
'bool' : {
'skal' : [
{
'semester' : {
'Betegnelse' : 'Allrounder'
}
} ,
{
'semester' : {
'Navn' : 'Anderson'
}
}
]
}
}
}


Denne kombination vil skabe en boolsk erklæring for at anvende forespørgslen på indekset:


Det handler om forskellene mellem Match og booleske forespørgsler i Elasticsearch.

Konklusion

Match og Boolean er to forespørgsler, der bruges i Elasticsearch til at hente data fra analysedatabasen eller fra indekset oprettet af brugeren. Match-forespørgsel konverterer dataene til arrays og henter data fra arrayet for at gøre processen mere effektiv. Boolesk forespørgsel anvender flere forespørgsler til at lave én erklæring og anvender en forespørgsel på indekset for at hente data. Denne vejledning har forklaret forskellene mellem Match- og Boolean-forespørgslerne i Elasticsearch for at hente data fra databasen.