Aký je rozdiel medzi Match a Boolean v Elasticsearch?

Aky Je Rozdiel Medzi Match A Boolean V Elasticsearch



Elasticsearch je vyhľadávací nástroj využívajúci knižnice Apache Lucene z programovacieho jazyka Java a používajú ho milióny ľudí. Umožňuje používateľovi ukladať údaje do svojej analytickej databázy a tiež môže vytvárať indexy a ukladať do nich údaje. Používateľ môže tiež použiť rôzne dotazy na získanie údajov z tabuliek/indexov a získať tak užitočné informácie.

Táto príručka vysvetlí rozdiel medzi zhodnými a boolovskými dopytmi v Elasticsearch.







Aká je zhoda v Elasticsearch?

Dotaz Match v Elasticsearch je veľmi jednoduchý, pretože obsahuje fulltextovú podmienku na získanie údajov z databázy. Match query berie údaje z indexu a premení ich na pole a potom z neho vyhľadá požadované kľúčové slová, vďaka čomu je načítanie údajov efektívne.



Čo je to boolovská hodnota v Elasticsearch?

Booleovský dotaz v Elasticsearch kombinuje viaceré dotazy do boolovských príkazov a zobrazuje výsledný dokument z databázy. Booleovský dotaz má viacero klauzúl, ktoré sú nasledovné:



    • musieť
    • filter
    • by mal
    • nesmieš

Aký je rozdiel medzi Match a Boolean v Elasticsearch?

Nasledujúca časť vysvetľuje rozdiel medzi Match a Boolean agregáciou pomocou príkladov. Postupujte podľa nižšie uvedeného postupu:





Pripojte sa k Elasticsearch a Kibana

Ak chcete použiť Match a Boolean dotazy v Elasticsearch, otvorte terminál z adresára bin Elasticsearch a použite nasledujúci príkaz:



elasticsearch.bat



Potom prejdite do adresára bin Kibana z lokálneho systému, otvorte terminál a použite nasledujúci príkaz:

kibana.bat



Na prihlásenie do Elasticsearch použite localhost s číslom portu 9200 vo webovom prehliadači:

localhost: 9200



Opäť použite localhost vo webovom prehliadači, ale s číslom portu 5601 na prihlásenie do používateľského rozhrania Kibana:

localhost: 5601



Zamierte dovnútra „ Nástroje pre vývojárov ” konzoly zo stránky Kibana z vyhľadávacieho panela:


Syntax zhody dotazu

Nasleduje základná syntax dopytu Match s požiadavkou GET na načítanie údajov:

GET / _Vyhľadávanie
{
'dopyt' : {
'zápas' : {
'správa' : {
'dopyt' : 'Toto je test'
}
}
}
}


Vyššie uvedený úryvok naznačuje:

    • Kód začína na a GET žiadosť pomocou Search API na načítanie údajov z databázy a používateľ môže pridať indexový názov po kľúčovom slove GET.
    • The dopyt kľúčové slovo obsahuje zápas doložka, ktorá dostane správu z indexu alebo databázy a potom údajov sa spomína v dopyt fráza na konci.

Použiť zhodný dopyt

Táto časť vysvetľuje praktický príklad použitia dotazu Match a zobrazuje údaje z demo-index pomocou a GET žiadosť:

GET / demo-index / _Vyhľadávanie



Použite nasledujúci kód na vykonanie zhody v Elasticsearch na stránke „ demo-index “, aby ste použili dotaz na „ Watson ' názov:

GET / demo-index / _Vyhľadávanie
{
'dopyt' : {
'zápas' : {
'názov' : {
'dopyt' : 'watson'
}
}
}
}



Syntax booleovského dotazu

Nasleduje základná syntax boolovského dotazu s požiadavkou GET na načítanie údajov z databázy:

GET / _Vyhľadávanie
{
'dopyt' : {
'bool' : {
'klauzula' : {
'lúka' : 'termín'
}
}
}
}


Vyššie uvedený úryvok naznačuje:

    • The GET požiadavka sa používa na získanie údajov z indexu pomocou vyhľadávacie rozhranie API .
    • The dopyt kľúčové slovo obsahuje bool pre dotaz, ktorý obsahuje jeho doložka aplikujte dotaz na index alebo databázu a potom na údajov sa načíta a zobrazí na obrazovke.

Použite boolovský dotaz

Nasledujúci dotaz používa booleovský dotaz na získanie údajov z „ demo-index “ pomocou „ musieť klauzulou a kombináciou dvoch dopytov z „ Označenie “ s “ názov “:

GET / demo-index / _Vyhľadávanie
{
'dopyt' : {
'bool' : {
'musieť' : [
{
'termín' : {
'označenie' : 'Všestranný'
}
} ,
{
'termín' : {
'Názov' : 'Anderson'
}
}
]
}
}
}


Táto kombinácia vytvorí boolovský príkaz na použitie dotazu na index:


To je všetko o rozdieloch medzi Match a Boolean dotazmi v Elasticsearch.

Záver

Match a Boolean sú dva dotazy používané v Elasticsearch na získanie údajov z analytickej databázy alebo z indexu vytvoreného používateľom. Match query konvertuje údaje do polí a načítava údaje z poľa, aby bol proces efektívnejší. Booleovský dotaz aplikuje viacero dotazov na vytvorenie jedného príkazu a použije dotaz na index na načítanie údajov. Táto príručka vysvetlila rozdiely medzi dopytmi Match a Boolean v Elasticsearch na získanie údajov z databázy.