Bądźmy w kontakcie

Plan Szkolenia

1. Wstęp do Elasticsearch

  • Czym jest Elasticsearch?
  • Zastosowania Elasticsearch
  • Architektura Elasticsearch
  • Komponenty Elastic Stack (Elasticsearch, Logstash, Kibana, Beats)
  • Instalowanie i uruchamianie Elasticsearch za pomocą kontenerów
  • Eksploracja interfejsu REST API

2. Zrozumienie indeksów i dokumentów

  • Dokumenty i struktura JSON
  • Indeksy i organizacja danych
  • Szardowanie i replikacja
  • Koncepcje cyklu życia indeksu
  • Tworzenie, aktualizowanie i usuwanie indeksów
  • Operacje CRUD dla dokumentów

3. Tworzenie zapytań wyszukiwania

  • Przegląd języka zapytań Query DSL
  • Zapytania typu match
  • Zapytania termowe (term queries)
  • Zapytania logiczne (boolean queries)
  • Zapytania zakresowe (range queries)
  • Wyszukiwanie prefiksowe, z użyciem symboli wieloznacznych i nieostrych (fuzzy searches)
  • Stronicowanie i sortowanie
  • Różnice między filtrowaniem a wyszukiwaniem

4. Przeprowadzanie analizy tekstu

  • Fundamenty pełnotekstowego wyszukiwania
  • Analizatory (analyzers)
  • Tokeryzatory (tokenizers)
  • Filtry znaków
  • Filtry tokenów
  • Analizatory językowe
  • Analizatory niestandardowe
  • Poprawa trafności wyników wyszukiwania

5. Definiowanie mapowań (mappings)

  • Dynamiki mapowania
  • Jawne mapowanie
  • Typy danych pól
  • Pola zagnieżdżone i obiektowe
  • Pola daty i liczbowe
  • Najlepsze praktyki dotyczące mapowań
  • Bezpieczna aktualizacja mapowań

6. Rozszerzanie wyszukiwania

  • Wyszukiwanie wielopolowe
  • Zapytania multi-match
  • Wyszukiwanie frazowe
  • Podświetlanie wyników wyszukiwania
  • Wagowanie (boosting) w wyszukiwaniu
  • Zapytania oparte na funkcji skoringowej (function score queries)
  • Szablony wyszukiwania

7. Zrozumienie rozproszonego modelu

  • Architektura klastra
  • Wezły i role
  • Szard główny i replikowy
  • Zdrowie klastra
  • Rozkład danych
  • Odporność na awarie (fault tolerance)
  • Koncepcje wysokiej dostępności

8. Manipulowanie wynikami wyszukiwania

  • Strategie stronicowania
  • Filtrowanie źródła (source filtering)
  • Kolepsowanie pól (field collapsing)
  • Pola skryptowe
  • Techniki sortowania
  • Podświetlanie fragmentów w wynikach wyszukiwania
  • Optymalizacja odpowiedzi wyszukiwania

9. Agregacje i analiza danych

  • Agregacje metryczne (metric aggregations)
  • Agregacje korybowe (bucket aggregations)
  • Agregacje potokowe (pipeline aggregations)
  • Obliczenia statystyczne
  • Histogramy
  • Agregacje daty
  • Konstrukcja zapytań analitycznych
  • Odpowiedniość agregacji (performance aggregations)

10. Obsługa relacji między danymi

  • Pola obiektowe
  • Dokumenty zagnieżdżone
  • Relacje rodzic-dziecko
  • Strategie denormalizacji
  • Wybór odpowiedniego modelu danych
  • Zapytania dotyczące powiązanych danych

11. Integracja Elasticsearch z aplikacjami

  • Integracja przez REST API
  • Biblioteki klienta Elasticsearch
  • Indeksowanie danych aplikacji
  • API wsadowe (Bulk API)
  • Interfejsy API wyszukiwania
  • Obsługa błędów
  • Najlepsze praktyki integracji

12. Optymalizacja wydajności

  • Skuteczne strategie indeksowania
  • Optymalizacja zapytań
  • Indeksowanie wsadowe (Bulk indexing)
  • Czasy odświeżania (refresh intervals)
  • Kasza (Caching)
  • Zarządzanie pamięcią
  • Monitoring wydajności

13. Monitorowanie i rozwiązywanie problemów

  • Monitorowanie stanu klastra
  • Statystyki indeksów
  • Rozwiązywanie problemów z wolnymi zapytaniami
  • Powszechne problemy z indeksowaniem
  • Rozwiązywanie problemów z klastrem
  • Koncepcje backupu i migawek (snapshots)
  • Logowanie i diagnostyka

14. Warsztat praktyczny i podsumowanie

  • Tworzenie wyszukiwalnej aplikacji
  • Projektowanie indeksów i mapowań
  • Implementacja pełnotekstowego wyszukiwania
  • Konkretyzacja agregacji i analizy danych
  • Optymalizacja wydajności wyszukiwania
  • Przegląd kluczowych koncepcji
  • Pytania i odpowiedzi
  • Najlepsze praktyki i kolejne kroki

Wymagania

  • Doświadczenie w programowaniu oprogramowania.
  • Znajomość linii poleceń.
  • Poprzednie doświadczenie z Elasticsearch nie jest wymagane.

Grupa docelowa

  • Programiści oprogramowania
 14 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (7)

Propozycje terminów

Powiązane Kategorie