From 1fcfed2822df5098ed301b8435bd0d590eccffd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Holp?= Date: Wed, 8 Apr 2020 15:44:25 +0000 Subject: [PATCH] Update 'pages/students/2016/jan_holp/dp2021/README.md' --- pages/students/2016/jan_holp/dp2021/README.md | 48 ++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/pages/students/2016/jan_holp/dp2021/README.md b/pages/students/2016/jan_holp/dp2021/README.md index a7bb62af65..8c8068cb6b 100644 --- a/pages/students/2016/jan_holp/dp2021/README.md +++ b/pages/students/2016/jan_holp/dp2021/README.md @@ -17,8 +17,52 @@ rozbaliť ho. Po rozbalení obsahu je potrebné otvoriť adresár kde máme nain ES. Konkrétne v adresári config vytvoríme nový adresár s názvom hunspell, v ňom ďalej vytvoríme adresár sk_SK. Do tohto adresára nakopírujeme súbory, ktoré sme získali rozbalením Hunspellu. Výsledná súborová štruktúru si môžeme pozrieť na -obrázku 5-1 : +obrázku : + +![Súborová štruktúra Hunspell](suborova_struktura.PNG) + +Pre správne fungovanie už potrebujeme len nastaviť analyzér správne. Dôležité +je poradie v akom sa filtre budú aplikovať na text. Na obrázku si môžeme pozrieť +kompletné nastavenie analyzéru(pozn. ES musí byť spustený). Ak je všetko správne +ES nám odpovie hláškou "true". Ako definovať analyzér si môžeme pozrieť na obrázku : + +![Definícia analýzeru](def_analyzeru.PNG) + +### Mapping + +Po nastavení analyzéra potrebujeme ešte pred samotným indexovaním dát nastaviť mapping. Je dôležité nastaviť to na začiatku, kedže mapping už potom nie je +možné upraviť. Bolo by potrebné zmazať celý index a nastaviť mapping znova. Pri +mappingu potrebujeme vedieť, že každý článok bude obsahovať svoje jedinečné ID, +názov(title) a telo(body) článku. Týmto poliam musíme definovať štruktúru, čiže ID +bude typu integer, polia title a body budú typu text. + +### Indexovanie dát + +Na indexovanie použijeme pripravený zdrojový kód s názvom elasticsearch.js. Na +spustenie javascript kód potrebujeme mať nainštalovaný program Nodejs, najlepšie +v čo najnovšej verzii. Kód spustíme pomocou príkazového riadka zadaním príkazu: +nodejs elasticsearch.js. +Zdrojový kód načítava súbor, v ktorom sú všetky novinové články vo formáte +JSON, kde jeden riadok je jeden JSON, čiže jeden novinový článok. Načítavanie +prebieha po riadkoch, kde každému riadku je priradený index postupne v rozsahu 1 +až 4781. každý článok obsahuje jedinečné ID, názov a telo. +Po spustení kódu sa nám zobrazí hláška, ktorá nás informuje o počte indexovaných článkov a vytvorí index s názvom "skweb", kde sa indexuje 4781 novinových +článkov, ktorým budú priradené ID. Po úspešnom indexovaní môžeme začať dáta +vyhľadávať. Ukážka správneho indexovania je na obrázku : + +![Ukážka indexovania](ukazka_indexovania.PNG) + +### Vyhľadávanie + +Po úspešnom indexovaní môžeme začať s vyhľadávaním. Musíme si pripraviť dotaz +pre ES. Obrázok 5-4 znázorňuje komunikáciu s ES a vyhľadávanie pomocou neho. +Odpoveď ES si môžeme pozrieť na obrázku. Sú tam zobrazené informácie +o trvaní vyhľadávania v ms, počte nájdených dokumentov, indexe, v ktorom sa +nachádza nájdený dokument, type, v ktorom je uložený dokument a ID dokumentu. + +![Vyhľadávanie](vyhladavanie.PNG) + +![Odpoveď]( odpoved.PNG) -![](http://)