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
Kalendarz

Dostępne terminy szkolenia

Ładuję terminy…

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

Efekty szkolenia

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
Przed startem

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
Zakres kursu

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
Jak pracujemy

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.

Kto prowadzi

Marcin Lewandowski

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.

FAQ

Najczęściej zadawane pytania

Ile osób może wziąć udział w szkoleniu?
Optymalnie 4-8 osób. Przy takiej grupie każdy zdąży zrobić wszystkie ćwiczenia, a ja mam czas na indywidualne pytania. Większe grupy wyceniam indywidualnie.
Czy potrzebuję własnego środowiska?
Nie. Każdy uczestnik dostaje własną maszynę wirtualną z przygotowanym laboratorium (Elasticsearch, Kibana, Logstash, dane testowe). Wystarczy przeglądarka. Przy szkoleniu stacjonarnym możemy pracować na Waszej infrastrukturze.
Czy szkolenie może być dopasowane do naszego projektu?
Tak i to jest najczęstszy wariant. Przed szkoleniem robimy 30-minutową rozmowę o Waszym stosie i problemach, a program dopasowuję pod nie. Cena nie zmienia się, o ile mieścimy się w 2 dniach.
Czy uczestnicy dostają materiały?
Tak: skrypt szkolenia w PDF, wszystkie polecenia i konfiguracje z laboratorium oraz dostęp do mojego kursu wideo Elasticsearch na 3 miesiące po szkoleniu.
Jak wygląda rozliczenie?
Faktura VAT po szkoleniu, cena za uczestnika. Dla firm zamawiających więcej niż jedno szkolenie lub grupę powyżej 8 osób przygotuję ofertę indywidualną.
Zobacz też

Szkolenia powiązane

OpenSearch w praktyce: dane, SIEM i wyszukiwanie wektorowe

🕒 24 godzin · Podstawowy → zaawansowany

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

🕒 16 godzin · Podstawowy → średniozaawansowany

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

🕒 16 godzin · Średniozaawansowany

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)

🕒 16 godzin · Podstawowy → średniozaawansowany

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

🕒 16 godzin · Podstawowy → średniozaawansowany

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

🕒 16 godzin · Podstawowy

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

🕒 16 godzin · Podstawowy → średniozaawansowany

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

🕒 8 godzin · Podstawowy → średniozaawansowany

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

🕒 8 godzin · Podstawowy → średniozaawansowany

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…