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:
Za prijavu na Elasticsearch koristite lokalni host s brojem porta 9200 na web pregledniku:
Opet, koristite localhost na web pregledniku, ali s brojem porta 5601 za prijavu na Kibana UI:
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:
{
'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.