Wat is het verschil tussen Match en Boolean in Elasticsearch?

Wat Is Het Verschil Tussen Match En Boolean In Elasticsearch



Elasticsearch is een zoekmachine die Apache Lucene-bibliotheken uit de Java-programmeertaal gebruikt en door miljoenen wordt gebruikt. Het stelt de gebruiker in staat om gegevens op te slaan in zijn analysedatabase en de gebruiker kan ook indexen maken en daarin gegevens opslaan. De gebruiker kan ook verschillende query's toepassen om gegevens uit de tabellen/indexen te halen en daardoor nuttige informatie te verkrijgen.

In deze handleiding wordt het verschil uitgelegd tussen Match- en Booleaanse zoekopdrachten in Elasticsearch.







Wat is de overeenkomst in Elasticsearch?

De Match-query in Elasticsearch is heel eenvoudig omdat deze een volledige tekstvoorwaarde bevat om gegevens uit de database te halen. Match-query haalt de gegevens uit de index en verandert deze in een array en zoekt er vervolgens de gewenste trefwoorden uit, waardoor het efficiënt is om gegevens op te halen.



Wat is de Booleaanse waarde in Elasticsearch?

Booleaanse zoekopdrachten in Elasticsearch combineren meerdere zoekopdrachten in Booleaanse uitspraken en geven het resulterende document uit de database weer. De Booleaanse query heeft meerdere clausules die als volgt zijn:



    • moeten
    • filter
    • zou moeten
    • moet niet

Wat is het verschil tussen Match en Boolean in Elasticsearch?

In het volgende gedeelte wordt het verschil tussen Match en Booleaanse aggregatie uitgelegd met behulp van voorbeelden. Laten we de onderstaande procedure volgen:





Maak verbinding met Elasticsearch en Kibana

Om de Match- en Booleaanse query's in Elasticsearch te gebruiken, opent u de terminal vanuit de bin-directory van Elasticsearch en gebruikt u de volgende opdracht:



elasticsearch.bat



Ga daarna naar de bin-directory van de Kibana vanaf het lokale systeem om de terminal te openen en gebruik de volgende opdracht:

kibana.vleermuis



Gebruik de localhost met poortnummer 9200 in de webbrowser om u aan te melden bij Elasticsearch:

lokalehost: 9200



Gebruik opnieuw de localhost in de webbrowser, maar met poortnummer 5601 om in te loggen op de Kibana-gebruikersinterface:

lokalehost: 5601



Ga naar binnen in de “ Ontwikkeltools ”console van de Kibana-pagina vanuit de zoekbalk:


Syntaxis van Match Query

Het volgende is de basissyntaxis van de Match-query met een GET-verzoek om gegevens op te halen:

KRIJGEN / _zoekopdracht
{
'vraag' : {
'overeenkomst' : {
'bericht' : {
'vraag' : 'Dit is een test'
}
}
}
}


Het bovenstaande fragment suggereert:

    • Code begint met een KRIJGEN verzoek gebruiken Zoek-API om gegevens op te halen van de databank en de gebruiker kan een index naam achter het GET-sleutelwoord.
    • De vraag trefwoord bevat de overeenkomst clausule die de bericht uit de index of database en vervolgens de gegevens wordt genoemd in de vraag zin aan het eind.

Gebruik Match Query

In dit gedeelte wordt een praktisch voorbeeld uitgelegd van het gebruik van de Match-query en worden de gegevens weergegeven van demo-index gebruik maken van een KRIJGEN verzoek:

KRIJGEN / demo-index / _zoekopdracht



Gebruik de volgende code om de Match-query uit te voeren in de Elasticsearch op de ' demo-index ” om query toe te passen op de “ watson ' naam:

KRIJGEN / demo-index / _zoekopdracht
{
'vraag' : {
'overeenkomst' : {
'naam' : {
'vraag' : 'Watson'
}
}
}
}



Syntaxis van Booleaanse query

Het volgende is de basissyntaxis van de Booleaanse query met een GET-verzoek om gegevens uit de database op te halen:

KRIJGEN / _zoekopdracht
{
'vraag' : {
'boel' : {
'clausule' : {
'veld' : 'termijn'
}
}
}
}


Het bovenstaande fragment suggereert:

    • De KRIJGEN request wordt gebruikt om gegevens uit de index op te halen met behulp van zoek-API .
    • De vraag trefwoord bevat de boel voor de query die zijn bevat clausule om de query op de index of database toe te passen en vervolgens de gegevens wordt opgehaald en weergegeven op het scherm.

Booleaanse query gebruiken

De volgende query gebruikt de Booleaanse query om gegevens op te halen uit de ' demo-index ' de ... gebruiken ' moeten ” clausule en het combineren van twee queries van “ Aanduiding ' met ' Naam ”:

KRIJGEN / demo-index / _zoekopdracht
{
'vraag' : {
'boel' : {
'moeten' : [
{
'termijn' : {
'Aanduiding' : 'Allrounder'
}
} ,
{
'termijn' : {
'Naam' : 'Anderson'
}
}
]
}
}
}


Deze combinatie maakt een Booleaanse instructie om de query op de index toe te passen:


Dat gaat allemaal over de verschillen tussen Match- en Booleaanse zoekopdrachten in Elasticsearch.

Conclusie

Match en Boolean zijn twee query's die in Elasticsearch worden gebruikt om gegevens op te halen uit de analysedatabase of uit de index die door de gebruiker is gemaakt. Match-query converteert de gegevens naar arrays en haalt gegevens op uit de array om het proces efficiënter te maken. Booleaanse query past meerdere query's toe om één statement te maken en past een query op de index toe om gegevens op te halen. Deze gids heeft de verschillen uitgelegd tussen de Match- en Booleaanse query's in Elasticsearch om gegevens uit de database te halen.