Hybrid search is commonly used in the search systems which runs several retrievers for a given same query (For ex: a keyword retriever, a dense embedding retriever) and each retriever returns its own top-k ranked list of documents. User cares about a single list and not lists of list from different retrievers, so you have to merge those lists into a single list. The most common way to merge the ranked results from different retrievers is to use Reciprocal Rank Fusion.
In this post I'll walk through three things -
RRF equation and what it actually computes
Why RRF works smoothly across different retrievers but averaging the scores across retrievers fail
Tradeoff when RRF is the wrong tool






