OpenSearch Schulung: Entwicklung
Suche mit OpenSearch in Java- und Spring-Anwendungen umsetzen

Vor Ort oder Remote: 100% DSGVO konform

Diese Schulung führen wir wahlweise remote oder vor Ort bei Ihnen durch, je nachdem, was für Ihr Team am besten passt.
Für Remote-Schulungen nutzen wir unser eigenes, in Europa betriebenes Schulungssystem: Sie benötigen lediglich einen Webbrowser, wir stellen Video/Audio, Präsentation und Praxisumgebung ohne zusätzliche Softwareinstallation bei Ihnen bereit. Alle Datenübertragungen erfolgen selbstverständlich verschlüsselt.
Bei Inhouse-Schulungen kommen unsere Trainer zu Ihnen und stellen auf Wunsch eine Praxisumgebung passend zu Ihrer Schulung bereit.
Bitte sprechen Sie uns an, wir erklären Ihnen gerne die Details und Konditionen.


OpenSearch ist eine quelloffene Such- und Analyseplattform unter der Apache-2.0-Lizenz, hervorgegangen aus Elasticsearch 7.10. Anwendungen nutzen OpenSearch für Volltextsuche, Filter und Umkreissuche, für Auswertungen über große Datenmengen und zunehmend für die Suche nach Bedeutung mit Vektoren.

Die Schulung zeigt die Arbeit mit der REST API und die Anbindung aus Java mit dem OpenSearch Java Client und Spring Data OpenSearch. Die Übungen bauen schrittweise eine Spring Boot Anwendung auf, die mit Testcontainers gegen ein echtes OpenSearch getestet wird.

Wie wir Volltext- und Vektorsuche für Transkripte von Telefonkonferenzen einsetzen, beschreibt der Beitrag Telefonkonferenzen mit FreeSWITCH auf Kubernetes.

Diese Schulung richtet sich an die Entwicklung. Für Aufbau und Betrieb von Clustern gibt es die OpenSearch Schulung: Betrieb.

Schulungsziel

Die Schulung versetzt Teilnehmer in die Lage, OpenSearch in eigene Anwendungen zu integrieren.

Teilnehmer arbeiten mit der REST API, binden OpenSearch über den Java Client und Spring Data OpenSearch an und schreiben Integrationstests mit Testcontainers. Darauf aufbauend werden Mappings und Analyzer, Abfragen mit der Query DSL, Paginierung, Aggregationen sowie das Ändern und Löschen von Dokumenten behandelt. Optionale Module zu Vektorsuche mit k-NN, Embeddings aus lokalen Modellen und hybrider Suche zeigen, wie sich Suche nach Bedeutung mit der Volltextsuche verbinden lässt. Optional zeigt ein Modul zu OpenSearch Dashboards, wie sich die Daten ohne eigenen Code durchsuchen und visualisieren lassen.

Nach Abschluss der Schulung können Sie beurteilen, welcher Zugriffsweg und welche Abfrage für eine Anforderung passt, und Suchfunktionen in Ihre Anwendungen einbauen.

Zielgruppe

Java-Entwickler, die Suchfunktionen mit OpenSearch in eigene Anwendungen einbauen oder von Elasticsearch auf OpenSearch umstellen möchten.

Vorkenntnisse

Java und Spring Boot Grundlagen, HTTP und JSON

Dauer

2-3 Tage (je nach Auswahl der optionalen Module)

Ort

Inhouse bei Ihnen oder als offene Schulung

Sprache

Deutsch, Englisch auf Anfrage

Anzahl Teilnehmer

Empfohlen: Maximal 8

Themen

Folgende Themen werden in dieser Schulung behandelt:

  • Einführung

    • Ziele und Informationsquellen

    • Schnittstellen und Clients

    • Beispieldaten laden

  • REST API

    • Aufbau von Requests: HTTP-Verben, URLs und Status Codes

    • Suchen mit Filter und Match kombinieren

    • Antworten eingrenzen mit filter_path und _source

    • Indizes und Dokumente anlegen

    • SQL und PPL im Überblick

  • Java Client

    • OpenSearch Java Client und Abgrenzung zum RestHighLevelClient

    • Einrichtung von Hand und mit dem Spring Boot Starter

    • Arbeiten mit Objekten und Buildern

    • Fehlerbehandlung

    • Asynchrone Aufrufe

    • Bulk Requests

    • Refresh und seine Auswirkung auf Tests und Performance

    • Integrationstests mit Testcontainers

    • Ingest Pipelines

  • Spring Data OpenSearch

    • Entitäten und Annotationen

    • Repositories und abgeleitete Abfragen

    • Paginierung mit Repositories

    • OpenSearchOperations, CriteriaQuery, StringQuery und NativeQuery

    • Bulk-Import mit bulkIndex

    • Wann Spring Data und wann der Java Client passt

  • Mappings

    • Datentypen für Text, Zahlen, Datum und Zeit

    • text und keyword, Analyzer und Normalizer

    • Analyzer testen mit der _analyze API

    • Deutsche Texte: Stemming, Zerlegung von Komposita, Umlaute

    • Synonyme

    • Aliase und Reindex für Schemaänderungen ohne Ausfall

    • Geo-Datentypen

    • Arrays, Objekte, Nested und Derived Fields

    • Multi-Fields

  • Queries

    • Leaf Queries: Range, Phrase, Prefix, Wildcard, Exists

    • Simple Query String und Multi Match

    • Compound Queries: Bool, Dis Max und Boosting

    • Relevanz nachvollziehen mit Explain

    • Highlighting und Suggestions

    • Umkreissuche und Gewichtung nach Entfernung

  • Paginierung

    • from und size

    • Scroll Search

    • search_after mit Point in Time

  • Aggregationen

    • Bucket- und Metrik-Aggregationen, auch geschachtelt

    • Geo-Aggregationen: Distanz, Geohash, Geohex und Geotile

  • Dokumente ändern und löschen

    • Update, Update by Query und Scripted Update

    • Delete und Delete by Query

  • Optional: Vektorsuche

    • Embeddings: Idee, Modelle und Dimensionen

    • Vektorfelder für k-NN und semantische Suche

    • HNSW, Engines und Parameter: Genauigkeit gegen Speicher und Geschwindigkeit

    • Embeddings mit lokalen Modellen über eine OpenAI-kompatible API

    • Neural Search und ML Commons im Überblick

  • Optional: Hybride Suche

    • Volltext und Vektor kombinieren

    • Search Pipelines, Normalisierung und Reciprocal Rank Fusion

    • Schwellwerte und Umgang mit schwachen Treffern

    • Retrieval für RAG-Anwendungen

  • Berechtigungen und Suchqualität

    • Berechtigungen auf Dokumentebene in der Suche berücksichtigen

    • Suchqualität messen und verbessern

    • Typische Fehler bei Mapping und Abfragen

  • Optional: OpenSearch Dashboards

    • Discover und Dashboards Query Language

    • Formatierung von Feldern

    • Visualisierungen, Karten und Dashboards

    • Reporting

    • Dev Tools Console

  • Ausblick

    • Search Templates

    • gRPC APIs

    • Profiling von Queries

Unsere Schulungen bieten wir auch als Inhouse Schulung an. Damit haben Sie die Möglichkeit, die Schwerpunkte der Schulung zu beeinflussen und die Gruppenzusammensetzung für Ihren Schulungsbedarf zu optimieren.
Nehmen Sie Kontakt mit uns auf und stimmen den für Sie passenden Zeitraum ab.

Für spezielle Fragestellungen oder gezielte Unterstützung bieten wir sowohl Workshops als auch Beratung an - senden Sie uns einfach eine Anfrage und schildern Sie Ihren Bedarf.

Diese Schulung wird von erfahrenen Entwicklern mit langjähriger Projekterfahrung durchgeführt. Lernen Sie unsere Trainer kennen.

Suche

Los geht's!

Bitte teilen Sie uns mit, wie wir Sie am besten erreichen können.