Hybrid Retrieval: BM25 + Vektor
BM25 (klassische Volltextsuche) und Vektor-Suche haben unterschiedliche Stärken: BM25 ist Trumpf bei exakten Treffern (Eigennamen, Fachbegriffen), Vektor-Suche bei Synonymen und Paraphrasierungen. Best practice ist, beide parallel laufen zu lassen und die Ergebnislisten mit Reciprocal Rank Fusion (RRF) zu mischen.
BM25 (Volltext)
- pgvector mit Postgres 16 betreibenScore 0.92 · Exakter Treffer im Titel
- Einführung in Vektor-DatenbankenScore 0.18 · Verwandtes Thema, schwacher Match
Vektor (Embeddings)
- pgvector mit Postgres 16 betreibenScore 0.88 · Semantisch direkt
- Einführung in Vektor-DatenbankenScore 0.71 · Vektor-DBs sind ähnlich
- HNSW-Index in Faiss konfigurierenScore 0.65 · Index-Konfiguration verwandt
- Wie ANN-Algorithmen funktionierenScore 0.58 · ANN-Algorithmen relevant
Nach RRF-Fusion:
- D2 — pgvector mit Postgres 16 betreiben (rrf 0.0328)
- D1 — Einführung in Vektor-Datenbanken (rrf 0.0323)
- D5 — HNSW-Index in Faiss konfigurieren (rrf 0.0159)
- D4 — Wie ANN-Algorithmen funktionieren (rrf 0.0156)
Warum eigentlich? — Warum gerade RRF, nicht Score-Addition?
BM25 und Vektor-Scores leben in völlig unterschiedlichen Skalen — BM25 kann unbeschränkt nach oben gehen, Cosine ist 0–1. Direkte Addition ergibt Quatsch. RRF nimmt nur die Ränge (nicht die Scores) und addiert
1 / (k + rank). Das macht beide Listen skalierungsfrei vergleichbar.Häufiger Denkfehler — Nur Vektor reicht — angeblich
Klassische Falle: man baut eine glänzende Vektor-Pipeline, ignoriert BM25 als „alt“, und dann sucht der User nach „PostgreSQL 17“ und findet alles über „Datenbanken allgemein“ — aber nicht die spezifische Version. BM25 fängt diese exakten Token-Treffer zuverlässig.
Tiefer rein — Sparse + Dense in einem Index
Pinecone, Qdrant und Weaviate unterstützen Sparse-Dense Hybrid: BM25 wird als sparser Vektor (Token-IDs als Indizes, TF-IDF-Werte als Magnituden) in derselben DB gespeichert wie der dichte Embedding-Vektor. Die Suche fusioniert beide in einer einzigen Query — schneller als zwei separate Round-Trips. Stichwort: SPLADE für gelernte Sparse-Repräsentationen.