OpenSearch dla programistów: wyszukiwanie, agregacje i integracja z aplikacją
Dwudniowe szkolenie prowadzone na żywo (online lub stacjonarnie) dla programistów: mapowanie i analiza tekstu, Query DSL i trafność wyników, agregacje, relacje, paginacja dużych zbiorów, integracja z aplikacją oraz wyszukiwanie wektorowe i hybrydowe.
Zbudujesz w OpenSearch wyszukiwarkę, która rozumie polskie odmiany i literówki, zwraca trafne wyniki w milisekundach i dogaduje się z Twoją aplikacją - od mapowania, przez Query DSL i agregacje, po wyszukiwanie wektorowe.
- Czas trwania szkolenia:
- 16 godzin · 16 godz. (2 dni)
- Poziom zaawansowania:
- Podstawowy → średniozaawansowany
- Grupa docelowa:
- Programiści backend, architekci, zespoły produktowe
Dostępne terminy szkolenia
Najbliższy termin otwarty ogłoszę po zebraniu grupy 4 osób - zostaw zapytanie z preferowanym miesiącem albo zapisz się na powiadomienie o kolejnych terminach. Szkolenie zamknięte dla Twojej firmy mogę poprowadzić w dowolnym uzgodnionym terminie.
Forma szkolenia
Interesuje Cię szkolenie stacjonarne?
Powiadom o kolejnych terminach
Interesuje Cię szkolenie w innym terminie?
Po szkoleniu uczestnik potrafi
- ✓Zaprojektujesz mapowanie i szablony indeksów pod realne zapytania, nie na oślep
- ✓Zbudujesz własny analizator tekstu z obsługą języka polskiego, stopwords i synonimów
- ✓Napiszesz zapytania: match, term, bool, range, fuzzy, phrase - i będziesz wiedzieć, kiedy filtrować, a kiedy wyszukiwać
- ✓Zrozumiesz ocenę dopasowania (_score) i będziesz świadomie sterować trafnością
- ✓Policzysz agregacje bucket, metrics i pipeline pod facety i raporty
- ✓Zamodelujesz relacje: object, nested, join, denormalizacja - i policzysz koszt każdej opcji
- ✓Dobierzesz sposób paginacji: from/size, search_after, Point in Time, scroll
- ✓Zintegrujesz OpenSearch z aplikacją: klienci, Bulk API, obsługa błędów, reindeksacja bez przestoju
- ✓Uruchomisz wyszukiwanie wektorowe i hybrydowe tam, gdzie dopasowanie słów nie wystarcza
Wymagania
- Doświadczenie w programowaniu w dowolnym języku
- Podstawy HTTP i JSON
- Znajomość OpenSearch ani Elasticsearch nie jest wymagana
Grupa docelowa
- Programiści dodający wyszukiwanie do aplikacji (PHP, Java, .NET, Node, Python)
- Zespoły przenoszące wyszukiwanie z LIKE ’%…%’ w relacyjnej bazie
- Architekci projektujący model danych pod OpenSearch
- Zespoły migrujące kod z klienta Elasticsearch na OpenSearch
Plan szkolenia
OpenSearch okiem programisty
- Do czego służy OpenSearch i kiedy warto go używać
- Co łączy OpenSearch z Elasticsearch, a czym się różnią (także w klientach)
- Dokument, indeks, shard, replika - co musi wiedzieć programista
- Pierwsze polecenia przez REST API i Dev Tools
- OpenSearch Dashboards jako narzędzie pracy programisty
Model danych, mapowanie i analiza tekstu
- Budowa dokumentu i dobór typów pól: tekst, liczby, daty, wartości logiczne
- Tekst do przeszukiwania a wartość do dokładnego dopasowania (text vs keyword)
- Mapowanie dynamiczne i jawne, multi-fields
- Jak OpenSearch przygotowuje tekst: character filters, tokenizer, token filters
- Własne analizatory, obsługa języka polskiego, stopwords i synonimy
- Testowanie analizy tekstu przez _analyze
- Szablony indeksów i aliasy
Operacje na dokumentach
- Dodawanie, odczyt, aktualizacja i usuwanie dokumentów
- Wgrywanie wielu dokumentów naraz (Bulk) i obsługa częściowych błędów
- Update by query i delete by query
- Kontrola współbieżnych zapisów (wersjonowanie)
- Reindeksacja i zmiana mapowania bez przestoju
Wyszukiwanie i filtrowanie
- Wyszukiwanie pełnotekstowe: match, multi_match, match_phrase
- Wyszukiwanie dokładnych wartości: term, terms, prefix
- Zakresy dat i liczb, wildcard, fuzzy
- Łączenie warunków w bool: must, should, filter, must_not
- Różnica między wyszukiwaniem a filtrowaniem (i co z tego wynika dla cache)
- Sortowanie wyników, wybór zwracanych pól, podświetlanie trafień
Trafność wyników
- Skąd bierze się ocena dopasowania (_score, BM25)
- Boosting pól i zapytań
- Sterowanie trafnością: function_score, świeżość, popularność
- Podpowiedzi i autouzupełnianie
- Jak sprawdzić, dlaczego dokument wypadł wyżej (explain)
Agregacje
- Agregacje bucket i metrics
- Zagnieżdżanie agregacji i analiza zmian w czasie
- Obliczenia na wynikach wcześniejszych agregacji (pipeline)
- Facety w wyszukiwarce i podsumowania w panelu aplikacji
- Dlaczego część wyników jest przybliżona i kiedy to boli
Relacje i duże zbiory danych
- Object, nested, join, denormalizacja - koszty każdej z opcji
- Paginacja: from/size i jej ograniczenia
- search_after i Point in Time
- Scroll i eksport dużych zbiorów
- Dobór sposobu pobierania danych do interfejsu użytkownika i do eksportu
Integracja z aplikacją
- Klienci OpenSearch w popularnych językach i różnice wobec klientów Elasticsearch
- Obsługa błędów, timeouty, ponawianie, limity
- Refresh interval i widoczność świeżo zapisanych danych
- Cache, slow log i mierzenie zapytań
- Dane napływające w czasie: aliasy, rollover, usuwanie starych danych
- Uwierzytelnianie aplikacji i dostęp tylko do wybranych danych
Wyszukiwanie wektorowe i hybrydowe w aplikacji
- Wyszukiwanie według znaczenia a wyszukiwanie słów
- Embeddingi, podobieństwo, k-NN i HNSW - tyle, ile trzeba
- Indeks wektorowy i zapisywanie embeddingów
- Łączenie wyszukiwania tekstowego i wektorowego (hybrydowe) z filtrami
- Reranking i porównanie jakości wyników na przykładowych pytaniach
- Kiedy wyszukiwanie wektorowe się opłaca, a kiedy wystarczy dobry analizator
Warsztat: wyszukiwarka od indeksu do API
- Projekt indeksu i mapowania dla realnych danych
- Zapytanie z filtrami, facetami i sortowaniem
- Strojenie trafności i pomiar efektu
Podsumowanie i zakończenie
- Powtórka najważniejszych zagadnień
- Pytania i odpowiedzi
- Materiały i dalsza ścieżka nauki
Formy szkolenia
Online na żywo z trenerem
Zdalnie, w małej grupie, z własną maszyną wirtualną dla każdego uczestnika. Cały czas widzisz mój pulpit i możesz zadawać pytania.
Stacjonarnie u klienta
Przyjeżdżam do Twojej firmy w dowolnym miejscu w Polsce. Laboratorium stawiamy na Waszej infrastrukturze albo na przygotowanych przeze mnie maszynach.
Dedykowane dla firm
Program dopasowuję do Waszego stosu i problemów: wersja Elasticsearch, wolumen danych, integracje. Ćwiczymy na scenariuszach zbliżonych do Waszej produkcji.
Marcin Lewandowski
Praktyk, nie tylko trener. Programista i architekt systemów z ponad 10-letnim doświadczeniem. Elasticsearch utrzymuję i rozwijam na produkcji, a nie tylko na slajdach - wiem, co się psuje o trzeciej w nocy i jak tego uniknąć.
Autor kursów Elasticsearch i RabbitMQ na czterytygodnie.pl - 86 lekcji wideo o Elasticsearch, z których korzystają setki programistów. Szkolenia na żywo prowadzę od lat dla firm i dla dostawców szkoleń.
Uczę tak, jak sam chciałbym być uczony: mało teorii, dużo laboratorium, każde polecenie wykonujemy razem i rozumiemy, dlaczego działa.
Najczęściej zadawane pytania
Ile osób może wziąć udział w szkoleniu?
Czy potrzebuję własnego środowiska?
Czy szkolenie może być dopasowane do naszego projektu?
Czy uczestnicy dostają materiały?
Jak wygląda rozliczenie?
Szkolenia powiązane
OpenSearch w praktyce: dane, SIEM i wyszukiwanie wektorowe
Trzydniowe szkolenie prowadzone na żywo (online lub stacjonarnie): OpenSearch od podstaw, zbieranie logów przez Vector, analiza bezpieczeństwa z regułami Sigma, utrzymanie klastra i migracja z Elasticsearch 8.x oraz wyszukiwanie wektorowe, RAG i agenci AI.
Więcej…OpenSearch dla DevOps: wdrożenie, potok logów i utrzymanie klastra
Dwudniowe szkolenie prowadzone na żywo (online lub stacjonarnie) dla administratorów i DevOps: instalacja i konfiguracja OpenSearch, bezpieczeństwo, potok logów w Vector, retencja danych, wydajność, monitoring i alerty, kopie zapasowe, cross-cluster search i migracja z Elasticsearch 8.x.
Więcej…OpenSearch jako baza wiedzy dla AI: wyszukiwanie wektorowe, RAG i agenci
Dwudniowe szkolenie prowadzone na żywo (online lub stacjonarnie) dla zespołów budujących rozwiązania AI: embeddingi i k-NN, indeks wektorowy, wyszukiwanie hybrydowe i reranking, przygotowanie bazy wiedzy, potok RAG z cytowaniami i uprawnieniami, ocena jakości oraz agenci AI i MCP.
Więcej…Praktyczne wprowadzenie do Elastic Stack (Elasticsearch, Kibana, Logstash, Beats)
Szkolenie prowadzone na żywo (online lub stacjonarnie) skierowane do administratorów systemów, którzy chcą postawić i utrzymać produkcyjny stos ELK: klaster Elasticsearch, Logstash, Kibana, Filebeat, kopie zapasowe, bezpieczeństwo i monitoring.
Więcej…Elasticsearch dla deweloperów
Szkolenie prowadzone na żywo (online lub stacjonarnie) skierowane do programistów, którzy chcą budować wyszukiwanie pełnotekstowe i analitykę w oparciu o Elasticsearch: mapowanie, analizery, Query DSL, agregacje, integracja z aplikacją.
Więcej…Elasticsearch i Kibana dla analityków danych
Szkolenie prowadzone na żywo (online lub stacjonarnie) skierowane do analityków danych i biznesowych, którzy chcą samodzielnie eksplorować dane w Kibanie: Discover, KQL, Lens, dashboardy, ES|QL, alerty i raporty - bez programowania.
Więcej…RabbitMQ: kolejki, klaster i bezpieczeństwo w praktyce
Szkolenie prowadzone na żywo (online lub stacjonarnie) dla programistów i administratorów, którzy chcą świadomie używać RabbitMQ: model AMQP, exchange'e, kolejki i ich parametry, potwierdzenia, klaster wysokiej dostępności, monitoring i bezpieczeństwo.
Więcej…Kibana: wizualizacja danych, dashboardy i alerty
Jednodniowe szkolenie prowadzone na żywo (online lub stacjonarnie) dla osób pracujących z Kibaną: eksploracja danych w Discover i KQL, wizualizacje w Lens, interaktywne dashboardy, ES|QL, alerty i raporty oraz porządek w Kibanie (Spaces, role).
Więcej…Logstash: przetwarzanie logów i danych w pipeline'ach
Jednodniowe szkolenie prowadzone na żywo (online lub stacjonarnie) dla administratorów i inżynierów danych: architektura Logstash, inputy, filtry grok/dissect/mutate/date/geoip, outputy do Elasticsearch, wiele pipeline'ów, kolejki persistent i DLQ oraz wydajność.
Więcej…