Vektorsuche und semantische Suche mit Typesense: Praxisleitfaden

Was ist Typesense Vektorsuche?

Seit Version 0.25 unterstĂźtzt Typesense neben klassischer Volltextsuche auch Vektorsuche und Hybrid Search. Dadurch lassen sich Inhalte nicht nur anhand exakter Suchbegriffe finden, sondern auch anhand ihrer semantischen Bedeutung.

Während klassische Suchmaschinen Wörter vergleichen, arbeitet die Vektorsuche mit sogenannten Embeddings. Texte, Bilder oder andere Inhalte werden dabei in numerische Vektoren umgewandelt, die ihre Bedeutung beschreiben. Ähnliche Inhalte liegen im Vektorraum nahe beieinander, auch wenn sie unterschiedliche Begriffe verwenden.

Eine Suche nach „günstige Laufschuhe für Anfänger“ findet dadurch auch Produkte, die lediglich als „preiswerte Einsteiger-Sportschuhe“ beschrieben sind.

Warum wird semantische Suche immer wichtiger?

Moderne Nutzer suchen zunehmend in natĂźrlicher Sprache. Gleichzeitig wachsen Produktkataloge, Wissensdatenbanken und Dokumentensammlungen stetig.

Klassische Volltextsuche stößt dabei häufig an Grenzen:

  • Synonyme werden nicht erkannt
  • unterschiedliche Formulierungen liefern keine Treffer
  • mehrsprachige Inhalte bleiben unverbunden
  • Fragen und Antworten nutzen selten dieselben Begriffe

Semantische Suche lĂśst diese Probleme durch die Analyse der inhaltlichen Bedeutung.

 

Typische Einsatzgebiete

Wissensdatenbanken und Self-Service-Portale

Fragen wie:

  • „Wie kĂźndige ich meinen Vertrag?“
  • „Wie beende ich meine Mitgliedschaft?“

fĂźhren trotz unterschiedlicher Formulierungen zum gleichen Ergebnis.

 

Produktsuche im E-Commerce

Kunden finden ähnliche Produkte, auch wenn sie nicht den exakten Produktnamen kennen.

 

Multilinguale Suche

Deutsche Suchbegriffe kĂśnnen englische oder franzĂśsische Inhalte finden, sofern ein mehrsprachiges Embedding-Modell verwendet wird.

 

Retrieval Augmented Generation (RAG)

LLM-Anwendungen nutzen Vektorsuche, um relevante Inhalte vor der Generierung einer Antwort abzurufen.

 

Wie funktioniert Vektorsuche technisch?

Klassische Suchmaschinen arbeiten mit invertierten Indizes und Ranking-Verfahren wie BM25.

Vektorsuche folgt einem anderen Ansatz:

  1. Inhalte werden in Embeddings umgewandelt
  2. Embeddings werden als Vektoren gespeichert
  3. Suchanfragen werden ebenfalls in Vektoren umgewandelt
  4. Ähnliche Vektoren werden über Distanzmetriken gefunden

Typesense verwendet dafĂźr den HNSW-Algorithmus (Hierarchical Navigable Small World), der eine sehr schnelle Approximate-Nearest-Neighbor-Suche ermĂśglicht.

 

Distanzmetriken

Typesense unterstützt verschiedene Ähnlichkeitsmetriken:

 

Cosine Similarity

Standard fĂźr Text-Embeddings.

Vergleicht den Winkel zwischen zwei Vektoren.

 

Dot Product

Berßcksichtigt zusätzlich die Länge der Vektoren.

 

Euclidean Distance

Misst den geometrischen Abstand im Vektorraum.

FĂźr die meisten Textanwendungen ist Cosine Similarity die beste Wahl.

 

Welche Embedding-Modelle unterstĂźtzt Typesense?

Typesense unterstĂźtzt sowohl integrierte als auch externe Modelle.

 

Integrierte Modelle

Modell Dimensionen Einsatz
ts/all-MiniLM-L12-v2 384 Allgemeine Suche
ts/multilingual-e5-small 384 Mehrsprachige Suche
ts/msmarco-MiniLM-L-6-v3 384 Dokumentensuche
ts/clip-vit-b-32 512 Bild- und Textsuche

⇔

Externe Modelle

OpenAI

  • text-embedding-3-small (1536)
  • text-embedding-3-large (3072)

Cohere

  • embed-multilingual-v3

Google

  • text-embedding-004

 

Praxistipp

Für deutschsprachige B2B-Kataloge liefert multilingual-e5 häufig bessere Ergebnisse als größere englischsprachige Modelle.

Die Qualität der Trainingsdaten ist oft wichtiger als die Anzahl der Dimensionen.

 

Schritt 1: Collection fĂźr Vektorsuche anlegen

Eine Collection benĂśtigt ein Vektorfeld vom Typ float[].

{
"name": "produkte",
"fields": [
{
"name": "titel",
"type": "string"
},
{
"name": "beschreibung",
"type": "string"
},
{
"name": "embedding",
"type": "float[]",
"embed": {
"from": ["titel","beschreibung"],
"model_config": {
"model_name": "ts/multilingual-e5-small"
}
}
}
]
}

Bei aktiviertem Auto-Embedding erzeugt Typesense die Embeddings automatisch.

 

Schritt 2: Dokumente indexieren

Mit Auto-Embedding genĂźgt ein normales Dokumenten-Importverfahren.

await client.collections('produkte')
.documents()
.import([
{
id: "1",
titel: "Laufschuh Modell A",
beschreibung: "Leichter Schuh fĂźr Einsteiger"
}
]);

Typesense erstellt den Embedding-Vektor automatisch während des Imports.

 

Schritt 3: Semantische Suche ausfĂźhren

Die eigentliche Suche erfolgt Ăźber den Parameter vector_query.

const results =
await client.collections('produkte')
.documents()
.search({
q: 'schuhe fßr anfänger',
query_by: 'embedding',
vector_query: 'embedding:([], k:20)'
});

Typesense erzeugt den Query-Vektor automatisch und liefert die ähnlichsten Dokumente zurßck.

 

Warum Hybrid Search meistens besser ist

Reine Vektorsuche hat Schwächen bei:

  • Produktnummern
  • SKUs
  • Markennamen
  • Eigennamen

Deshalb empfiehlt sich in den meisten Fällen Hybrid Search.

Dabei kombiniert Typesense:

  • BM25-Volltextsuche
  • Vektorsuche
  • Filter
  • Facetten

 

Beispiel

const results =
await client.collections('produkte')
.documents()
.search({
q: 'wasserdichte wanderschuhe',
query_by: 'titel,beschreibung,embedding',
vector_query: 'embedding:([], alpha:0.3)'
});

Ein Alpha-Wert zwischen 0,2 und 0,5 liefert in vielen Projekten die besten Ergebnisse.

 

Typesense als Retrieval-Layer fĂźr RAG

Bei Retrieval Augmented Generation Ăźbernimmt Typesense die Rolle des Retrieval-Systems.

Der Ablauf:

  1. Nutzer stellt eine Frage
  2. Frage wird embedded
  3. Typesense findet relevante Dokumente
  4. Die Dokumente werden dem LLM Ăźbergeben
  5. Das LLM generiert die Antwort

 

Warum RAG?

Ohne Kontext halluzinieren Sprachmodelle.

Mit RAG erhalten sie aktuelle und unternehmensspezifische Informationen.

 

Entscheidend: Die richtige Chunk-Größe

Unsere Erfahrungen zeigen:

  • 300 bis 500 Tokens pro Chunk
  • 50 Tokens Überlappung

liefern meist bessere Ergebnisse als größere Dokumentblöcke.

 

Speicherbedarf und Performance

Vektorsuche benĂśtigt deutlich mehr RAM als klassische Volltextsuche.

 

Faustregel

4 Byte pro Dimension und Dokument

Beispiel:

  • 1 Million Dokumente
  • 768 Dimensionen

ergibt etwa:

3 bis 4 GB RAM

nur fĂźr den Vektorindex.

 

Suchgeschwindigkeit

HNSW ermĂśglicht Suchzeiten im niedrigen Millisekundenbereich.

Bei lokalen Embeddings liegen Suchanfragen typischerweise unter 20 Millisekunden.

Externe Embedding-APIs erhÜhen die Latenz häufig um 50 bis 300 Millisekunden.

 

Typische Fehler bei der EinfĂźhrung

Modellwechsel

Ein Wechsel des Embedding-Modells erfordert eine vollständige Neuindexierung.

Dimension Mismatch

Die Anzahl der Dimensionen im Schema muss exakt zum Modell passen.

Falsches Sprachmodell

Englisch trainierte Modelle liefern oft schlechte Ergebnisse fĂźr deutsche Inhalte.

Zu große Dokumente

Lange Texte sollten vor dem Embedding sinnvoll gechunkt werden.

Reine Vektorsuche

FĂźr Produktkataloge ist Hybrid Search fast immer Ăźberlegen.

 

Fazit

Typesense Vektorsuche macht semantische Suche, RAG-Anwendungen und moderne Produktsuche ohne zusätzliche Vector-Datenbank mÜglich. Die Kombination aus Volltextsuche, Facetten, Filtern und HNSW-basierter Vektorsuche in einer einzigen Plattform reduziert Komplexität und Infrastrukturkosten erheblich.

Fßr die meisten produktiven Anwendungen empfehlen wir Hybrid Search statt reiner Vektorsuche. Sie verbindet die Präzision klassischer Suchverfahren mit den Vorteilen semantischer Suche und liefert dadurch die robustesten Ergebnisse.

FAQ

Brauche ich Vektorsuche, wenn ich bereits Synonyme verwende?

Nicht unbedingt. Fßr einfache Produktsuchen reichen Synonyme häufig aus. Vektorsuche wird interessant, wenn Nutzer natßrliche Sprache verwenden oder mehrsprachige Inhalte durchsucht werden sollen.

Kann ich Typesense Vektorsuche ohne OpenAI nutzen?

Ja. Typesense bietet mehrere integrierte Embedding-Modelle, die direkt auf dem Server ausgefĂźhrt werden kĂśnnen.

Was ist Hybrid Search?

Hybrid Search kombiniert klassische Volltextsuche mit Vektorsuche und liefert in der Praxis meist bessere Ergebnisse als einer der beiden Ansätze allein.

Ist Typesense eine Alternative zu Pinecone oder Weaviate?

Fßr viele Anwendungsfälle ja. Typesense kombiniert Volltextsuche, Filter, Facetten und Vektorsuche in einer Plattform. Dedizierte Vector-Datenbanken sind stärker spezialisiert, benÜtigen jedoch meist zusätzliche Suchsysteme.

Wie groß kann ein Vector-Index werden?

Die praktische Grenze ergibt sich aus dem verfügbaren RAM. Mehrere Millionen Dokumente sind problemlos möglich, größere Installationen werden typischerweise über mehrere Nodes oder Cluster verteilt.