Szkolenie: Apache Lucene – wyszukiwanie pełnotekstowe i mechanizmy analityczne
Praktyczne szkolenie z Apache Lucene: full-text search w Javie, analyzery, BM25, Query DSL, DocValues, faceting i tuning wydajności — dla lepszej relewancji.
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:2 dni (16h)
Kod kursu:J/LUCENE
Apache Lucene – wyszukiwanie pełnotekstowe i mechanizmy analityczne
Cele szkolenia
Zrozumienie architektury Apache Lucene: indeks, segmenty, term dictionary, postings, doc values, stored fields oraz ich wpływu na relewancję i wydajność wyszukiwania pełnotekstowego
Umiejętność zaprojektowania schematu indeksu (pola, typy, analyzery) pod full-text search i analitykę indeksu, w tym DocValues, faceting i stabilne sortowanie – w ramach szkolenie
Opanowanie procesu indeksowania: budowa dokumentów, aktualizacje, usuwanie, commit/refresh (near-real-time), merge policy oraz zrozumienie kosztów IO/latency i tuningu
Dobór i konfiguracja analizatorów oraz filtrów (tokenizacja, normalizacja, stemming, synonimy, stopwords) dopasowanych do języka i domeny, aby poprawić jakość wyników
Budowanie zapytań wyszukiwawczych i rankingowych: Query DSL w Lucene, składanie zapytań (BooleanQuery, PhraseQuery, TermQuery), boosting, filtrowanie, minimalShouldMatch i sortowanie
Wykorzystanie mechanizmów analitycznych Lucene: DocValues, faceting, agregacje/miary po indeksie oraz efektywne sortowanie i nawigacja po wynikach
Projektowanie wyszukiwania „produkcyjnego”: jakość wyników (relevance/BM25), stabilność, testowalność, obserwowalność (metryki, logowanie zapytań) oraz bezpieczeństwo zapytań i kontrola kosztu
Identyfikacja i rozwiązywanie typowych problemów: pamięć, latency, odświeżanie indeksu, limity i timeouty, query abuse, błędy analizy językowej oraz skuteczny tuning
Dla kogo?
Programistów Java budujących własne wyszukiwarki lub funkcje wyszukiwania w aplikacjach (e-commerce, CMS, knowledge base, logi, dokumenty)
Architektów i liderów technicznych projektujących warstwę wyszukiwania, schemat indeksu oraz wymagania niefunkcjonalne (latency, relevance, scaling)
Zespołów utrzymujących systemy oparte o Lucene, które chcą lepiej rozumieć przyczyny problemów wydajnościowych i jakościowych
Inżynierów danych i analityków technicznych zainteresowanych wykorzystaniem indeksu do sortowania, facetingu i analiz po polach
Zalety
Podejście praktyczne: warsztaty z budowy indeksu Lucene, konfiguracji analyzerów (tokenizacja, stemming, synonimy) oraz implementacji wyszukiwarki end-to-end w Java
Balans full-text i analityki: uczestnik poznaje relevance (BM25, boosting) oraz wykorzystanie DocValues, facetingu i agregacji do analiz po indeksie
Dobre praktyki projektowe: schemat indeksu (Document/Field), kontrakty wyszukiwania, strategie aktualizacji (commit/refresh, NRT), wzorce budowy Query DSL i stabilne sortowanie
Realne scenariusze i pułapki produkcyjne: dobór analizatora, query abuse, limity/timeouty, kontrola kosztu zapytań, merge policy, segmenty oraz tuning wydajności i latency
Możliwość łatwego przełożenia na systemy oparte o Lucene (np. Elasticsearch / OpenSearch) dzięki zrozumieniu fundamentów: indeks, postings, DocValues, analyzery, ranking i faceting
Wymagania
Podstawowa umiejętność programowania w języku Java
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Wprowadzenie do Apache Lucene i przypadki użycia
Czym jest Apache Lucene
Full-text vs analityka indeksu: różnice w modelowaniu pól i przechowywaniu danych
Precyzja vs trafność, czyli dokładność zapytań
Model danych i schemat indeksu
Omówienie podstawowych typów: Document i Field
Konfiguracja celu i zawartości pól: stored fields, indexed fields, term vectors
DocValues jako pola numeryczne i binarne: typy, koszty, zastosowania (sortowanie, faceting, agregacje)
Typy pozwalające na przeszukiwanie po zakresach
Strategie przechowywania danych do prezentacji wyników
Analiza tekstu i jakość wyszukiwania
Typy procesorów tekstowych i ich konfiguracja (tokenizacja, filtry, normalizacja)
Analyzery dla różnych języków i domen
Konfiguracja synonimów, stemming, lemmatyzacja, stopwords
Indeksowanie w praktyce
Dodawanie/aktualizacja/usuwanie dokumentów, idempotencja i identyfikatory
Commit, refresh, near-real-time
Sortowanie podczas indeksowania
Segmenty i mergowanie: opcje MergePolicy, wpływ na IO i latency
Wydajność indeksowania
Stosowanie batchowości oraz paralelizmu w indeksowaniu
Ranking i relewancja
Obliczanie podobieństwa (BM25 i alternatywy): podstawy i strojenie
Boosting pól i funkcje scoringu
Typowe problemy relewancji: „szum”, dopasowania zbyt szerokie, brak trafień
Budowanie zapytań i wyszukiwanie
Typy zapytań: TermQuery, BooleanQuery, PhraseQuery, Prefix/Wildcard/Regexp, PointRangeQuery
Składanie zapytań: must/should/filter, boosting, minimalShouldMatch
Sortowanie wyników i stabilność sortowania
Filtrowanie i cache'owanie zapytań
Highlighting
Wykorzystanie Interval API dla zaawansowanego wyszukiwania tekstowego
Zapytania geograficzne (Opcjonalnie)
Analityka indeksu i wykorzystanie DocValues
Faceting: kategorie, liczniki, nawigacja po wynikach
Agregacje na polach
Projektowanie indeksu pod analitykę: kompromisy pamięć vs szybkość
Aspekty produkcyjne i bezpieczeństwo
Kontrola kosztu zapytań (limity, timeout, ochrona przed „drogimi zapytaniami”)
Diagnostyka i obserwowalność: logowanie zapytań, metryki, profilowanie
Zarządzanie cyklem życia indeksu: snapshoty, rebuild, reindex, migracje schematu
Najczęstsze błędy wdrożeniowe i praktyczne rekomendacje
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi
