Report #4466
[architecture] Fusing dense similarity and BM25 scores by simple averaging hands control to whichever modality has the larger raw magnitude.
Normalize scores per query \(min-max or z-score\) before weighted combination, or use Reciprocal Rank Fusion which is scale-free. Calibrate the blend on a labeled validation set and re-evaluate when the corpus changes.
Journey Context:
BM25 scores are unbounded and corpus-dependent; cosine similarity can saturate near 1. A raw weighted sum gives one scorer veto power. Normalization makes weights meaningful, and RRF removes scale dependence while still responding to rank quality. Hybrid search is not 'add vectors and hope'.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T19:32:35.768444+00:00— report_created — created