Kakšna je razlika med Match in Boolean v Elasticsearch?

Kaksna Je Razlika Med Match In Boolean V Elasticsearch



Elasticsearch je iskalnik, ki uporablja knjižnice Apache Lucene iz programskega jezika Java in ga uporabljajo milijoni. Uporabniku omogoča shranjevanje podatkov v svojo analitično bazo, uporabnik pa lahko tudi ustvarja indekse in vanje shranjuje podatke. Uporabnik lahko uporabi tudi različne poizvedbe, da pridobi podatke iz tabel/indeksov in prek tega pridobi koristne informacije.

Ta vodnik bo razložil razliko med Match in Boolean poizvedbami v Elasticsearch.







Kaj je ujemanje v Elasticsearch?

Poizvedba Match v Elasticsearch je zelo enostavna, saj vsebuje pogoj celotnega besedila za pridobivanje podatkov iz baze podatkov. Poizvedba za ujemanje vzame podatke iz indeksa in jih spremeni v matriko ter nato iz nje išče želene ključne besede, zaradi česar je pridobivanje podatkov učinkovito.



Kaj je Boolean v Elasticsearch?

Logična poizvedba v Elasticsearch združuje več poizvedb v logične stavke in prikaže nastali dokument iz baze podatkov. Logična poizvedba ima več klavzul, ki so naslednje:



    • mora
    • filter
    • naj
    • ne smeš

Kakšna je razlika med Match in Boolean v Elasticsearch?

V naslednjem razdelku je s pomočjo primerov razložena razlika med Match in Boolovim združevanjem. Sledimo spodnjemu postopku:





Povežite se z Elasticsearch in Kibana

Če želite uporabiti poizvedbe Match in Boolean v Elasticsearch, odprite terminal iz imenika bin Elasticsearch in uporabite naslednji ukaz:



elasticsearch.bat



Nato pojdite v imenik bin Kibane iz lokalnega sistema, da odprete terminal in uporabite naslednji ukaz:

kibana.bat



Za prijavo v Elasticsearch uporabite lokalnega gostitelja s številko vrat 9200 v spletnem brskalniku:

lokalni gostitelj: 9200



Spet uporabite localhost v spletnem brskalniku, vendar s številko vrat 5601 za prijavo v uporabniški vmesnik Kibana:

lokalni gostitelj: 5601



Pojdite v ' Orodja za razvijalce ” s strani Kibana iz iskalne vrstice:


Sintaksa poizvedbe za ujemanje

Sledi osnovna sintaksa poizvedbe za ujemanje z zahtevo GET za pridobivanje podatkov:

DOBITI / _Iskanje
{
'povpraševanje' : {
'tekma' : {
'sporočilo' : {
'povpraševanje' : 'To je preizkus'
}
}
}
}


Zgornji delček predlaga:

    • Koda se začne z a DOBITI zahteva uporabo API za iskanje za pridobivanje podatkov iz zbirka podatkov in uporabnik lahko doda ime indeksa za ključno besedo GET.
    • The poizvedbo ključna beseda vsebuje tekma klavzula, ki dobi sporočilo iz indeksa ali baze podatkov in nato iz podatke je omenjeno v poizvedbo stavek na koncu.

Uporabite Match Query

V tem razdelku je razložen praktičen primer uporabe poizvedbe za ujemanje in prikazani podatki iz demo-indeks z uporabo a DOBITI prošnja:

DOBITI / demo-indeks / _Iskanje



Uporabite naslednjo kodo za izvedbo poizvedbe Match v Elasticsearch na ' demo-indeks ', da uporabite poizvedbo na ' watson ” ime:

DOBITI / demo-indeks / _Iskanje
{
'povpraševanje' : {
'tekma' : {
'ime' : {
'povpraševanje' : 'watson'
}
}
}
}



Sintaksa logične poizvedbe

Sledi osnovna sintaksa logične poizvedbe z zahtevo GET za pridobivanje podatkov iz baze podatkov:

DOBITI / _Iskanje
{
'povpraševanje' : {
'bool' : {
'klavzula' : {
'polje' : 'termin'
}
}
}
}


Zgornji delček predlaga:

    • The DOBITI Zahteva se uporablja za pridobivanje podatkov iz indeksa z uporabo API za iskanje .
    • The poizvedbo ključna beseda vsebuje bool za poizvedbo, ki vsebuje svoj klavzula za uporabo poizvedbe v indeksu ali bazi podatkov in nato podatke se pridobi in prikaže na zaslonu.

Uporabite logično poizvedbo

Naslednja poizvedba uporablja logično poizvedbo za pridobivanje podatkov iz » demo-indeks ' uporabljati ' mora « in združevanje dveh poizvedb » Imenovanje ' z ' Ime ”:

DOBITI / demo-indeks / _Iskanje
{
'povpraševanje' : {
'bool' : {
'moram' : [
{
'termin' : {
'oznaka' : 'Vsestranski'
}
} ,
{
'termin' : {
'Ime' : 'Anderson'
}
}
]
}
}
}


Ta kombinacija bo ustvarila logični stavek za uporabo poizvedbe v indeksu:


To je vse o razlikah med poizvedbami Match in Boolean v Elasticsearch.

Zaključek

Match in Boolean sta dve poizvedbi, ki se uporabljata v Elasticsearch za pridobivanje podatkov iz analitične baze podatkov ali iz indeksa, ki ga ustvari uporabnik. Poizvedba za ujemanje pretvori podatke v polja in pridobi podatke iz polja, da je postopek učinkovitejši. Logična poizvedba uporabi več poizvedb za izdelavo ene izjave in uporabi poizvedbo v indeksu za pridobitev podatkov. V tem priročniku so razložene razlike med poizvedbama Match in Boolean v Elasticsearch za pridobivanje podatkov iz baze podatkov.