Kurzy a certifikace Open Source

Cloud

Elasticsearch - fulltext v praxi

34.000 CZK
Days2
21. 2.22. 2. 2019
Praha
CZ

Kurz je určen pro všechny, kdo se chtějí naučit, jak na svém projektu vytvořit fulltextové vyhledávání, na které se v rámci kurz podíváme komplexně. Kromě využití Elasticsearch se naučíme i další koncepty uživatelského vyhledávání.

Během kurzu společně vytvoříme vyhledávání na reálných datech; od návrhu a architektury po plně funkční řešení, které budeme postupně rozšiřovat o pokročilou práci s českým jazykem, synonymy, překlepy, našeptávačem a dalšími funkcemi. Podíváme se, jak ovlivňovat relevanci v závislosti na uživatelském chování (hodnocení, nákupy, atd.) a dalších faktorech. Nakonec si ukážeme, jak celé řešení provozovat v produkčním prostředí.

Cílová skupina

Kurz je určen pro všechny vývojáře, kteří pracují na projektech, kde chtějí řešit vyhledávání pro uživatele (např. katalogy produktů, článků, atd.). 

Garant kurzu

PETR NOVOTNÝ

Petrův odborný záběr je od solution architektury přes vlastní development (JavaScript, PHP) přes Elasticsearch, Oracle, PL/SQL až po agilní metodiky a SCRUM. Petr se zároveň věnuje již několik let technologii Elasticsearch a stal se kmenovým lektorem společnosti Datascript.

Osnova

Vyhledávání stavěné pro uživatele

  • Jak uživatelé na vašem webu vyhledávají?
  • Jak navrhnout vyhledávání, architektura
  • Proces zpracování uživatelského dotazu
  • Vyhledávací kontext
  • Identifikace entit (co uživatel skutečně hledá)?

Cluster pro fulltext

  • Návrh architektury clusteru pro fulltextové vyhledávání
  • Lab 

Indexace dat do Elasticsearch

  • Synchronizace dat z relační databáze a dalších úložišť
  • Průběžné a jednorázové indexování dat
  • Sledování a zlepšování výkonu indexace dokumentů
  • Lab 

Vytvoření fulltextového vyhledávání

  • Základy fulltextu, inverted index
  • Nastavení vhodného mappingu
  • Vazby mezi objekty, tipy z praxe
  • Základní analýza textu
  • Lab 

Pracujeme s češtinou

  • Jak vyhledávat v čestině?
  • Základní přehled nástrojů pro práci s českým jazykem
  • Vyhledávání nezávisle na diakritice
  • Hledání kořenu slova
  • Dostupné Stemmery, Lematizace
  • Stemmery do hloubky, tvorba vlastních slovníků
  • Doporučený analyzer pro český jazyk
  • Tipy z praxe
  • Lab 

Vyhledávací DSL dotaz

  • Tvorba vyhledávacího dotazu
  • Vyhledávání v jednom a více polích
  • Strategie vyhledávání ve více polích a jakou zvolit v jakém případě?
  • Zvýhoďnování celých frází
  • Tipy z praxe
  • Lab

 Zapojujeme další pole

  • Zvýhodňování, boosting
  • Vyhledávání v kódech
  • Vyhledávání v parametrech, kategoriích, značkách, tagách
  • Jak nastavit váhy v jednotlivých polích
  • Signály
  • Lab 

Synonyma

  • Jak a proč zapojit synonyma do procesu vyhledávání?
  • Slovník dostupných synonym pro češtinu a další jazyky
  • Tvorba a zapojení vlastních slovníků
  • Tipy z praxe
  • Lab 

Relevance

  • Co je relevance?
  • Jak měřit relevanci?
  • Jak měřit změnu relevance při úpravě vyhledávání?
  • Score, jak Elasticsearch počítá relevanci
  • TF/IDF, BM25 a teorietické minimum
  • Lab 

Ovlivňování relevance

  • Ovlivňování výsledků na základě uživatelských akcí (nákupy, hodnocení, atd.)
  • Ovlivňování na základě vlastností dokumentů
  • Rescoring dokumentů
  • Decay funkce
  • Lab

Našeptávač

  • Obecně k problematice "našeptávání"
  • Různé možnosti implementace na praktických ukázkách
  • Jak na stejné výsledky v našeptávači a výsledcích vyhledávání?
  • Dis_max a další query do hloubky
  • Lab 

Překlepy

  • Základní ošetření překlepů
  • Vytváříme "Měli jste na mysli?"
  • Suggesters
  • Lab 

Uživatelské filtry, facetová navigace

  • Jak na uživatelské filtry?
  • Agregace
  • Vytváříme "Měli jste na mysli?"
  • Suggesters
  • Lab 

Jdeme do produkce

  • Nastavení clusteru pro produkční prostředí, konfigurace
  • Volíme počet nodů, shardů, replik
  • Nastavení monitoringu
  • Škálujeme na množství dat a návštěvnost
  • Lab
     

Předpoklady účastníka

Základní znalost Elasticsearch, protokol HTTP, formát JSON, obecná znalost databázových systémů.

Předcházející kurz

Elasticsearch

Poptejte kurz u nás

Kurzy
Submit
* Povinné pole