Fuse dense + BM25 with reciprocal rank fusion before you re-rank
FreeAcademy·medium signal
Run sparse keyword search (BM25) alongside dense vector search and merge with reciprocal rank fusion before the re-ranking stage. Dense retrieval catches semantic matches but misses exact terms, proper nouns, and acronyms; BM25 catches those, so the union surfaces candidates neither method finds alone — and the re-ranker then sorts the combined pool.