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:
- Inhalte werden in Embeddings umgewandelt
- Embeddings werden als Vektoren gespeichert
- Suchanfragen werden ebenfalls in Vektoren umgewandelt
- Ă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
- 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:
- Nutzer stellt eine Frage
- Frage wird embedded
- Typesense findet relevante Dokumente
- Die Dokumente werden dem LLM Ăźbergeben
- 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.