-
Elasticsearch = systém pro fulltextové vyhledávání
-
založen na Apache Lucene, používá strukturu Skip list
-
Elasticsearch komunikuje pomocí REST (representational state transfer)
- Pro komunikaci se serverem lze použít libovolého REST klienta.
- Např. curl, rozšíření REST Client do VS Code, …
- Pro komunikaci se serverem lze použít libovolého REST klienta.
Rozdělení textu na termy (Tokenizace)
- V Elasticsearch se indexace dokumentů skládá z několika kroků, ve kterých je text rozdělen na menší části nazývané “termy” nebo “tokeny”.
- Proces tokenizace:
- Analýza: Text je zpracován analyzátorem. To je kombinace tokenizeru a filterů
- Tokenizer: rozděluje text na tokeny, obvykle na základě mezery a interpunkce.
- Token filtr: modifikuje tokeny, například převádění na malá písmena, odstranění stop slov, synonyma, atd.
- Například řetězec
"The Hobbit, or There and Back Again"
se přeloží na termy:"the"
,"hobbit"
,"or"
,"there"
,"and"
,"back"
,"again"
.
- Indexace (Indexing): Tokeny jsou poté přidány do invertovaného indexu, který mapuje termíny na místa jejich výskytu v dokumentech.
- Analýza: Text je zpracován analyzátorem. To je kombinace tokenizeru a filterů
Základní dotazy
- Dotazy jsou vyjádřeny pomocí JSON.
Požadavek
- Požadavek na dotaz indexu má tvar:
- kde
query
je objekt popisující dotaz
Příklad požadavku
Odpověď
- Tělo odpovědi obsahuje:
-
kde
hits_count
je počet zásahů ahits
je pole zásahů. -
Zásah obsahuje:
- kde
document
je zasažený dokument adocument_id
jeho identifikátor.
match query
- Hledá dokumenty, které odpovídají poskytnutému textu.
- Dotaz
match_all
zasáhne každý dokument:
- Dotaz
match
zasáhne dokumenty, které mají v položcename
hodnotu vyhovující predikátuvalue_query
.
- Konkrétní příklad:
-
V tomto řetězci je
"THE, HoBBit"
rozložen na termy:"the"
,"hobbit"
. -
Dokument je zasažen, pokud se aspoň jeden term dotazu shoduje s termem položky.
-
Pokud chceme, aby položka obsahovala všechny uvedené termy, použijeme predikát:
Navigace
Předchozí: Základy práce v MongoDB - operátory v dotazech, implicitní operátory a dotazy na vnořené dokumenty Následující: Výpočet skóre zásahu Celý okruh: 2. Informační technologie