First-stage retrieval is built for recall: get the right documents into the shortlist, fast. Whether they are in the right order is another question — and the first three positions take most of the clicks. Reranking reads the query together with each leading candidate and reorders only the top of the list, where order pays.
Keyword, vector or hybrid retrieval produces the candidate list, after zero-result rescue has run.
The reranker reads the query with each of the top candidates — 1 to 100 of them — and scores how well the document answers it.
Scored hits are reordered; everything below keeps the engine order. Pins and diversity rules apply afterwards, so merchandising still has the last word.
bge-reranker-base is a cross-encoder: fast, purpose-built, the default choice. llm uses a small instruction model that can weigh looser notions of relevance at a higher latency. Turn reranking on for a whole collection in its search rules, or per request with rerank: true — and override the model or the depth with rerank_model and rerank_top_k.
A second model in the request path is a second thing that can break. If the reranker times out, errors, or the credit wallet is empty, the response carries the engine's order and says so: the rerank object reports applied: false with the reason — timeout, error, credits, too_few_hits or no_query — next to the model, the number of hits scored and the milliseconds spent.
Hits the reranker scored carry a rerank_score, so an evaluation run can compare the two orders rather than trust the switch.
Only the leading top_k hits are scored, so latency and AI credits stay proportional to the page, not the index.
Enable it in search rules for everyone, or send rerank: false to skip it on a latency-critical call such as autocomplete.
Every response states whether reranking ran, with which model, over how many hits and how long it took.
Golden query sets score nDCG and MRR with and without the reranker; A/B experiments confirm the gain on live traffic.
New to the term? The glossary explains Reranking from first principles.
{
"q": "laptop for video editing under 100k",
"query_by": "name,description,embedding",
"rerank": true,
"rerank_model": "bge-reranker-base",
"rerank_top_k": 30
}
// -> "rerank": { "applied": true, "model": "bge-reranker-base", "scored": 30, "ms": 84 }
// hits[].rerank_scoreExplore more
The best way to evaluate a search platform isn't reading one more comparison table.
Only then make the decision.