query
BM25 (sparse)
exact keyword, TF-IDF
inverted index, sub-10ms
precise, brittle. zero OOV tolerance.
Dense (bi-encoder)
semantic similarity
FAISS / vector DB, 50-200ms
paraphrase-tolerant, keyword-blind
RRF fusion
rank-only merge
cross-encoder rerank
top-30 → top-5. adds 30-100ms.