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:
Použijte localhost s číslem portu 9200 ve webovém prohlížeči pro přihlášení do Elasticsearch:
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:
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:
{
'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.