Koja je razlika između Match i Boolean u Elasticsearchu?

Koja Je Razlika Izmedu Match I Boolean U Elasticsearchu



Elasticsearch je tražilica koja koristi biblioteke Apache Lucene iz programskog jezika Java i koriste je milijuni. Omogućuje korisniku pohranjivanje podataka u svoju analitičku bazu podataka, a korisnik također može kreirati indekse i pohranjivati ​​podatke u njih. Korisnik također može primijeniti različite upite kako bi dobio podatke iz tablica/indeksa i kroz to dobio korisne informacije.

Ovaj će vodič objasniti razliku između Match i Boolean upita u Elasticsearchu.







Što je podudaranje u Elasticsearchu?

Upit za podudaranje u Elasticsearchu vrlo je jednostavan jer sadrži uvjet punog teksta za dobivanje podataka iz baze podataka. Match query uzima podatke iz indeksa i pretvara ih u niz, a zatim pretražuje željene ključne riječi iz njega što čini učinkovitim dohvaćanje podataka.



Što je Boolean u Elasticsearchu?

Booleov upit u Elasticsearchu kombinira višestruke upite u Booleove izjave i prikazuje rezultirajući dokument iz baze podataka. Booleov upit ima više klauzula koje su sljedeće:



    • mora
    • filtar
    • trebao bi
    • ne smije

Koja je razlika između Match i Boolean u Elasticsearchu?

Sljedeći odjeljak objašnjava razliku između Match i Boolean agregacije uz pomoć primjera. Slijedite donji postupak:





Povežite se na Elasticsearch i Kibana

Za korištenje Match i Boolean upita u Elasticsearchu, otvorite terminal iz bin direktorija Elasticsearcha i upotrijebite sljedeću naredbu:



elasticsearch.bat



Nakon toga idite u direktorij bin Kibane iz lokalnog sustava kako biste otvorili terminal i upotrijebite sljedeću naredbu:

kibana.šišmiš



Za prijavu na Elasticsearch koristite lokalni host s brojem porta 9200 na web pregledniku:

lokalni domaćin: 9200



Opet, koristite localhost na web pregledniku, ali s brojem porta 5601 za prijavu na Kibana UI:

lokalni domaćin: 5601



Krenite u ' Razvojni alati ” konzole sa stranice Kibana iz trake za pretraživanje:


Sintaksa upita za podudaranje

Slijedi osnovna sintaksa podudaranja upita s GET zahtjevom za dohvaćanje podataka:

DOBITI / _traži
{
'upit' : {
'podudaranje' : {
'poruka' : {
'upit' : 'Ovo je test'
}
}
}
}


Gornji isječak sugerira:

    • Kod počinje s a DOBITI zahtjev pomoću API za pretraživanje dohvatiti podatke iz baza podataka a korisnik može dodati naziv indeksa nakon ključne riječi GET.
    • The upit ključna riječ sadrži odgovarati klauzula koja dobiva poruka iz indeksa ili baze podataka, a zatim podaci spominje se u upit izraz na kraju.

Koristite Match Query

Ovaj odjeljak objašnjava praktičan primjer korištenja upita za podudaranje i prikazuje podatke iz demo-indeks pomoću a DOBITI zahtjev:

DOBITI / demo-indeks / _traži



Upotrijebite sljedeći kod za izvođenje upita podudaranja u Elasticsearchu na ' demo-indeks ' za primjenu upita na ' Watsone ' Ime:

DOBITI / demo-indeks / _traži
{
'upit' : {
'podudaranje' : {
'Ime' : {
'upit' : 'watson'
}
}
}
}



Sintaksa Booleovog upita

Slijedi osnovna sintaksa Booleovog upita s GET zahtjevom za dohvaćanje podataka iz baze podataka:

DOBITI / _traži
{
'upit' : {
'bool' : {
'klauzula' : {
'polje' : 'termin'
}
}
}
}


Gornji isječak sugerira:

    • The DOBITI zahtjev se koristi za dohvaćanje podataka iz indeksa pomoću API za pretraživanje .
    • The upit ključna riječ sadrži bool za upit koji sadrži svoj klauzula da primijenite upit na indeks ili bazu podataka, a zatim podaci se dohvaća i prikazuje na ekranu.

Koristite Boolean upit

Sljedeći upit koristi Booleov upit za dobivanje podataka iz ' demo-indeks ' koristiti ' mora ” i kombiniranje dva upita od „ Oznaka ” sa “ Ime ”:

DOBITI / demo-indeks / _traži
{
'upit' : {
'bool' : {
'mora' : [
{
'termin' : {
'Oznaka' : 'svestrani'
}
} ,
{
'termin' : {
'Ime' : 'Anderson'
}
}
]
}
}
}


Ova kombinacija će stvoriti Booleovu izjavu za primjenu upita na indeks:


To je sve o razlikama između Match i Boolean upita u Elasticsearchu.

Zaključak

Match i Boolean dva su upita koji se koriste u Elasticsearchu za dobivanje podataka iz analitičke baze podataka ili iz indeksa koji je izradio korisnik. Match query pretvara podatke u nizove i dohvaća podatke iz niza kako bi proces bio učinkovitiji. Booleov upit primjenjuje više upita kako bi napravio jednu izjavu i primjenjuje upit na indeks za dohvaćanje podataka. Ovaj vodič objasnio je razlike između Match i Boolean upita u Elasticsearchu za dobivanje podataka iz baze podataka.