Jaký je rozdíl mezi Match a Boolean v Elasticsearch?

Jaky Je Rozdil Mezi Match A Boolean V Elasticsearch



Elasticsearch je vyhledávač využívající knihovny Apache Lucene z programovacího jazyka Java a používají ho miliony lidí. Umožňuje uživateli ukládat data do své analytické databáze a uživatel může také vytvářet indexy a ukládat do nich data. Uživatel může také použít různé dotazy k získání dat z tabulek/indexů a získat tak užitečné informace.

Tato příručka vysvětlí rozdíl mezi Match a Boolean dotazy v Elasticsearch.







Jaká je shoda v Elasticsearch?

Dotaz Match v Elasticsearch je velmi přímočarý, protože obsahuje fulltextovou podmínku pro získání dat z databáze. Dotaz na shodu vezme data z indexu a převede je do pole a poté z něj vyhledává požadovaná klíčová slova, díky čemuž je načítání dat efektivní.



Co je Boolean v Elasticsearch?

Booleovský dotaz v Elasticsearch kombinuje více dotazů do booleovských příkazů a zobrazuje výsledný dokument z databáze. Booleovský dotaz má několik klauzulí, které jsou následující:



    • musí
    • filtr
    • by měl
    • nesmět

Jaký je rozdíl mezi Match a Boolean v Elasticsearch?

Následující část vysvětluje rozdíl mezi Match a Boolean agregací pomocí příkladů. Postupujte podle níže uvedeného postupu:





Připojte se k Elasticsearch a Kibana

Chcete-li v Elasticsearch použít Match a Boolean dotazy, otevřete terminál z adresáře bin Elasticsearch a použijte následující příkaz:



elasticsearch.bat



Poté přejděte do adresáře bin Kibana z místního systému, otevřete terminál a použijte následující příkaz:

kibana.bat



Použijte localhost s číslem portu 9200 ve webovém prohlížeči pro přihlášení do Elasticsearch:

localhost: 9200



Opět použijte localhost ve webovém prohlížeči, ale s číslem portu 5601 pro přihlášení do uživatelského rozhraní Kibana:

localhost: 5601



Zamiřte dovnitř „ Vývojářské nástroje ” konzole ze stránky Kibana z vyhledávacího pole:


Syntaxe Match Query

Níže je uvedena základní syntaxe dotazu Match s požadavkem GET na načtení dat:

DOSTAT / _Vyhledávání
{
'dotaz' : {
'zápas' : {
'zpráva' : {
'dotaz' : 'Tohle je zkouška'
}
}
}
}


Výše uvedený úryvek navrhuje:

    • Kód začíná na a DOSTAT žádost pomocí Search API k načtení dat z databáze a uživatel může přidat indexové jméno za klíčovým slovem GET.
    • The dotaz klíčové slovo obsahuje zápas klauzule, která dostane zpráva z indexu nebo databáze a poté data je zmíněn v dotaz fráze na konci.

Použijte vyhledávací dotaz

Tato část vysvětluje praktický příklad použití vyhledávacího dotazu a zobrazuje data z demo-index používat DOSTAT žádost:

DOSTAT / demo-index / _Vyhledávání



Pomocí následujícího kódu proveďte vyhledávací dotaz v Elasticsearch na „ demo-index “, chcete-li použít dotaz na „ Watson ' název:

DOSTAT / demo-index / _Vyhledávání
{
'dotaz' : {
'zápas' : {
'název' : {
'dotaz' : 'watson'
}
}
}
}



Syntaxe Boolean Query

Níže je uvedena základní syntaxe booleovského dotazu s požadavkem GET na načtení dat z databáze:

DOSTAT / _Vyhledávání
{
'dotaz' : {
'bool' : {
'doložka' : {
'pole' : 'období'
}
}
}
}


Výše uvedený úryvek navrhuje:

    • The DOSTAT požadavek se používá k načtení dat z indexu pomocí vyhledávací rozhraní API .
    • The dotaz klíčové slovo obsahuje bool pro dotaz, který obsahuje jeho doložka aplikujte dotaz na index nebo databázi a poté na data se načte a zobrazí na obrazovce.

Použijte booleovský dotaz

Následující dotaz používá booleovský dotaz k získání dat z „ demo-index ' za použití ' musí klauzule “ a spojení dvou dotazů z “ Označení “ s “ název “:

DOSTAT / demo-index / _Vyhledávání
{
'dotaz' : {
'bool' : {
'musí' : [
{
'období' : {
'Označení' : 'Všestranný'
}
} ,
{
'období' : {
'Název' : 'Anderson'
}
}
]
}
}
}


Tato kombinace vytvoří booleovský příkaz pro použití dotazu na index:


To je vše o rozdílech mezi Match a Boolean dotazy v Elasticsearch.

Závěr

Match a Boolean jsou dva dotazy používané v Elasticsearch k získání dat z analytické databáze nebo z indexu vytvořeného uživatelem. Match query převádí data na pole a načítá data z pole, aby byl proces efektivnější. Booleovský dotaz použije více dotazů k vytvoření jednoho příkazu a použije dotaz na index k načtení dat. Tato příručka vysvětluje rozdíly mezi dotazy Match a Boolean v Elasticsearch pro získání dat z databáze.