In diesem dritten Teil der Serie schauen wir uns an, wie Elasticsearch und KI zusammenspielen: von Sentence Transformers über semantische Ähnlichkeit bis hin zu Retrieval Augmented Generation. Ziel ist nicht, klassische Suche zu ersetzen, sondern sie dort zu erweitern, wo rein begriffsbasierte Verfahren an ihre Grenzen stossen.
In den ersten beiden Teilen dieser Blogserie haben wir uns Schritt für Schritt an bessere Suchergebnisse herangetastet:
- In Teil 1 ging es darum, wie Elasticsearch Texte analysiert und warum Sprach-Analyzer, Stemming, Synonyme und n-grams entscheidend für gute Treffer sind.
- In Teil 2 haben wir gesehen, wie Suchanfragen, Scoring, Boosting und unterschiedliche Query-Typen die Reihenfolge der Treffer beeinflussen.
All diese Techniken haben eines gemeinsam: Sie basieren auf Begriffen. Elasticsearch zerlegt Texte in Tokens und vergleicht diese miteinander – mal strenger, mal unschärfer, aber immer auf Basis von Wörtern.
Doch was passiert, wenn Nutzer:innen:
- nicht die «richtigen» Begriffe verwenden,
- ganze Fragen stellen,
- oder Inhalte finden möchten, die thematisch passen, obwohl keine gemeinsamen Wörter vorkommen?
Hier kommt die KI-gestützte, semantische Suche ins Spiel.
Semantische Suche mit KI: Sentence Transformers und Vektorsuche - von Begriffen zu Bedeutung
Schauen wir uns nochmals ein einfaches Beispiel an. Wir verwenden erneut zwei Dokumente:
Dokument 1
{
"title": "Suche mit Elasticsearch",
"lead": "Wie können Sie die Suche mit Elasticsearch verbessern?"
}
Dokument 2
{
"title": "Optimierung von Webserver-Performance",
"lead": "Welche Massnahmen steigern die Geschwindigkeit Ihrer Webseite?"
}
Mit klassischer Volltextsuche – selbst mit guter Analyse, Synonymen und Boosting – bleiben wir an Begriffe gebunden. Eine Suchanfrage wie «Wie mache ich meine Suche besser?» funktioniert nur dann gut, wenn wir die passenden Wörter («Suche», «verbessern», «optimieren») irgendwie abdecken. Ein Mensch versteht sofort, dass diese Frage thematisch zu Dokument 1 gehört. Elasticsearch hingegen braucht dafür zusätzliche Hilfe.
Sentence-Transformer-Modelle
Hier kommen die Sentence-Transformer-Modelle zum Einsatz. Sentence-Transformer-Modelle stellen Texte nicht als Wortlisten, sondern als Vektoren dar. Vereinfacht gesagt gilt:
- Jeder Text (Satz, Absatz oder Dokument) wird in eine Zahlenliste umgewandelt.
- Diese Vektoren repräsentieren die Bedeutung des Textes.
- Ähnliche Inhalte liegen im Vektorraum nahe beieinander – auch wenn keine identischen Begriffe vorkommen.
Es existieren unterschiedliche Modelle, etwa deutsch-englisch trainierte Varianten oder speziell für die deutsche Sprache optimierte Sentence-Transformer-Modelle (z. B. auf Basis von RoBERTa oder neueren Embedding-Architekturen).
Für Suchabfragen, wie beispielsweise «Optimierung von Suchen», «Wie kann ich die Suchqualität verbessern?» oder «Bessere Ergebnisse in Elasticsearch erzielen» werden als semantisch ähnlich erkannt – unabhängig von der konkreten Wortwahl.
KNN-Suche in Elasticsearch
Elasticsearch unterstützt Vektorsuche über sogenannte k-nearest-neighbour-(KNN)-Queries. Dabei wird nicht mehr nach Worttreffern gesucht, sondern nach den ähnlichsten Vektoren.
Der Ablauf ist vereinfacht wie folgt:
- Indexierung
- Für jedes Dokument wird mit einem Sentence-Transformer-Modell ein Vektor berechnet.
- Dieser Vektor wird zusätzlich zum Text im Elasticsearch-Index gespeichert.
- Suche
- Auch die Suchanfrage wird in einen Vektor umgewandelt.
- Elasticsearch sucht die Dokumente mit den nächstgelegenen Vektoren.
Das Ergebnis sind Treffer, die thematisch passen – selbst dann, wenn kein einziges Wort identisch ist.
Feinere Treffer mit Dense Passage Retrieval
In den bisherigen Beispielen wurde jeweils ein Dokument als Ganzes indexiert. In der Praxis sind Dokumente jedoch oft deutlich umfangreicher – etwa PDFs, Richtlinien oder technische Dokumentationen.
Ein einzelner Vektor für ein grosses Dokument ist dabei häufig zu grob, um gezielte Fragen zuverlässig zu beantworten.
Ein bewährter Ansatz in solchen Szenarien ist Dense Passage Retrieval (DPR). Dabei werden Dokumente in kleinere Einheiten zerlegt, zum Beispiel in Absätze oder Kapitel. Jede dieser Textpassagen wird separat in einen Vektor umgewandelt und als eigenes Dokument indexiert.
Für die Suche bedeutet das:
- Es wird nicht mehr das passendste Dokument gesucht,
- sondern die passendste Textstelle innerhalb eines Dokuments.
Das führt zu deutlich präziseren Treffern, insbesondere bei längeren Texten oder bei Suchanfragen in Form konkreter Fragen.
DPR erhöht allerdings auch die Anzahl der Dokumente im Index und damit den Speicher- und Rechenaufwand. Wie bei der Vektorsuche insgesamt gilt auch hier: Der Nutzen hängt stark vom jeweiligen Anwendungsfall ab.
Vorteile der semantischen Suche
Kontextuelles «Verstehen»
Der grösste Vorteil liegt auf der Hand: Die Suche orientiert sich an der Bedeutung, nicht an der exakten Wortwahl. Das ist besonders hilfreich bei:
- unterschiedlichen Formulierungen
- Fachbegriffen vs. Alltagssprache
- längeren, erklärenden Suchanfragen
- Suchanfragen als Fragen
Nutzer:innen suchen immer häufiger in ganzen Sätzen oder Fragen:
- «Wie kann ich meine Webseite schneller machen?»
- «Was hilft gegen schlechte Suchresultate?»
Mit klassischer Volltextsuche sind solche Anfragen schwierig. Mit Vektorsuche sind sie ein natürlicher Anwendungsfall.
Suche in Bildern und anderen Medien
Sentence-Transformer-Modelle sind nicht auf Text beschränkt. Es existieren auch Modelle, die Text, Bilder oder beides gemeinsam in denselben Vektorraum abbilden. Damit werden Szenarien möglich wie
- Textsuche nach Bildern („Foto von einem roten T‑Shirt“),
- Textbeschreibung zu Bildern,
- kombinierte Suchanfragen über verschiedene Medientypen hinweg.
Nachteile und Herausforderungen
So überzeugend die Möglichkeiten sind – die Vektorsuche bringt auch neue Herausforderungen mit sich.
Performance und Ressourcen
Vektorsuche ist deutlich rechenintensiver als klassische Volltextsuche:
- Mehr Speicherbedarf für die Vektoren
- Höhere CPU- und RAM-Last bei der Suche
- Längere Antwortzeiten, insbesondere bei grossen Indizes
Für viele Anwendungsfälle ist das akzeptabel, für Szenarien mit sehr hoher Last oder strengen Echtzeitanforderungen jedoch ein wichtiger Faktor.
Wartbarkeit und Betrieb
Sentence-Transformer-Modelle müssen ausgewählt, betrieben, versioniert und aktualisiert werden. Änderungen am Modell können das Suchverhalten spürbar verändern. Dadurch wird die Suche weniger transparent und schwerer erklärbar als klassische Analyzer- und Query-basierte Ansätze..
Verfügbarkeit und Mehrsprachigkeit
Viele Modelle stammen aus Open-Source-Projekten oder von Drittanbietern. Gerade im Schweizer Kontext stellen sich zusätzliche Fragen:
- Wird das Modell langfristig gepflegt?
- Eignet es sich gleichermassen für Deutsch, Französisch und Italienisch?
- Kann es selbst betrieben werden oder besteht eine Abhängigkeit von externen Services?
Weitere Einsatzmöglichkeiten von KI rund um Elasticsearch
Synonym-Generierung mit KI
KI kann auch dort unterstützen, wo in den ersten Teilen dieser Serie manuelle Arbeit notwendig war – etwa bei der Pflege von Synonymlisten. Sprachmodelle können verwendet werden, um:
- relevante Synonyme vorzuschlagen,
- Begriffe aus Nutzersuchen zu analysieren,
- bestehende Synonymlisten regelmässig zu erweitern.
Diese Synonyme können anschliessend klassisch in Elasticsearch eingesetzt werden – ganz ohne Vektorsuche im eigentlichen Query.
Elasticsearch als Kontextlieferant für KI-Modelle
Ein spannender Ansatz ist der Einsatz von Elasticsearch als strukturierte Wissensbasis für KI-Modelle. Elasticsearch übernimmt dabei die Rolle eines gezielten Such- und Filtermechanismus und liefert kontrollierten Kontext für Sprachmodelle. Das erhöht Aktualität, Nachvollziehbarkeit und Kontrolle – insbesondere in Unternehmensumgebungen.
Von der Suche zur Antwort: Retrieval Augmented Generation
Der konsequente nächste Schritt nach semantischer Suche ist die direkte Beantwortung von Fragen. Nutzer:innen möchten häufig nicht nur Trefferlisten sehen, sondern eine verständliche Antwort erhalten.
Hier setzt Retrieval Augmented Generation (RAG) an. Der Ablauf ist vereinfacht:
- Eine Frage wird gestellt.
- Elasticsearch sucht relevante Dokumente oder Textpassagen.
- Diese Inhalte werden einem Sprachmodell als Kontext übergeben.
- Das Modell formuliert daraus eine Antwort.
Der entscheidende Vorteil: Die Antwort basiert auf konkret gefundenen Inhalten und nicht auf frei generiertem Wissen. Elasticsearch stellt sicher, dass nur geprüfte, aktuelle und relevante Informationen in die Antwort einfliessen.
RAG kann Suchsysteme deutlich aufwerten, ersetzt jedoch keine saubere Datenbasis. Die Qualität der Antworten hängt direkt von der Qualität der Suche und der indexierten Inhalte ab.
Fazit: Wann lohnt sich KI-gestützte Suche?
Vektorsuche mit Sentence-Transformer-Modellen ist kein Ersatz für klassische Elasticsearch-Suche, sondern eine sinnvolle Ergänzung.
Sie lohnt sich insbesondere dann, wenn:
- Nutzer:innen sehr unterschiedlich formulieren,
- Fragen statt Stichwörter eingegeben werden,
- Inhalte semantisch statt exakt gefunden werden sollen.
Gleichzeitig bleiben Analyzer, Queries, Boosting und Scoring essenziell – nicht zuletzt aus Performance- und Wartungsgründen. In der Praxis erweist sich häufig eine hybride Suche, die klassische Volltextsuche mit semantischer Vektorsuche kombiniert, als beste Lösung.
Techniken wie Dense Passage Retrieval und Retrieval Augmented Generation zeigen, dass Elasticsearch längst nicht mehr nur eine Suchmaschine ist, sondern zunehmend zur Grundlage intelligenter Wissens- und Assistenzsysteme wird.
KI macht Suche nicht automatisch besser – aber sie erweitert den Suchraum dort, wo klassische Verfahren an ihre Grenzen stossen. Und genau hier schliesst sich der Kreis zu den Grundlagen aus Teil 1 und Teil 2: Ohne saubere Daten, gute Analyse und durchdachte Queries entfaltet auch KI ihr Potenzial nicht.
Über den Autor
Nicolas Karrer ist Lead Application Engineer bei Snowflake. Neben seiner Begeisterung für neue Technologien ist er Snowflake Urgestein, Fussball- und Eishockeyfan, Squash-Spieler und TV-Serien-Junkie.