Why this matters now: Enterprise RAG deployments have moved from demo to production, and the most common complaint is answer quality on complex queries: the pipeline retrieves chunks, the LLM answers from them, and the answer is vague or off-topic. The retriever did its job by recall standards. The problem is that recall and answer quality are different metrics. Retrieval by vector similarity optimizes for coverage. What goes wrong in production is precision: the LLM context is full of tangentially-related text, the most relevant passages are at position 6 and 7 in a top-10 list, and the LLM anchors on what it finds first. Reranking is the layer that fixes this, and most teams add it too late or skip it entirely.

Why retrieval by similarity score is not the same as retrieval by relevance

Vector similarity retrieval works by encoding the query and all document chunks into a shared embedding space, then returning the chunks whose embeddings are closest to the query embedding by cosine distance. This approach scales to millions of documents and has the recall characteristics that make it a good first-stage retriever. What it does not do well is rank the returned chunks by how much they actually help answer the specific question asked.

The problem is that embedding models are trained on general text similarity, not question-answering relevance. Two chunks can have nearly identical cosine similarity to a query while having very different answer utility. A chunk that mentions the topic three times in passing may score above a chunk that directly answers the question, because embedding similarity captures surface co-occurrence as much as semantic relevance. In a top-10 retrieval, this means the most useful chunk may be at position 5, and the LLM context window starts with four chunks that are topically adjacent but not actually helpful.

Rerankers solve this by doing a second pass over the retrieved candidates using a model that jointly encodes the query and each chunk together, rather than comparing independent embeddings. A cross-encoder reads the query and a chunk as a single sequence and produces a relevance score for that specific pair. This is computationally more expensive than embedding lookup, which is why reranking runs only over the top-K retrieved candidates rather than the full corpus. The trade-off is that it produces a much more accurate relevance ranking: the cross-encoder can recognize that a chunk directly addresses the question being asked, even when its embedding distance to the query is not the lowest in the set.

A retriever is designed to make sure the right chunk is somewhere in the top-50. A reranker takes that candidate list and sorts it by how much each chunk actually answers the question. Both jobs matter, and neither replaces the other.
15-42%
improvement in precision@5 from adding a cross-encoder reranker over embedding-only retrieval, across enterprise RAG benchmarks (FloTorch 2026 analysis; practitioner estimates across legal, healthcare, and finance corpora)
67%
reduction in top-20 retrieval failures when reranking is combined with contextual embeddings and BM25 hybrid retrieval, from a 5.7% baseline failure rate (Anthropic Contextual Retrieval evaluation, 2025)
20-40%
estimated reduction in generator token spend when reranking raises precision@5 enough to reduce the number of chunks passed to the LLM context window (practitioner estimate; figures vary by corpus and query complexity)

The 5 reranking approaches compared: where each fits and where each fails

Reranking is not a single technique. There are five distinct approaches to improving retrieval precision, each with a different cost-quality profile. Most production failures come from choosing the wrong approach for the retrieval baseline in place, or adding reranking before measuring whether the base retriever's recall is high enough to make reranking worthwhile.

Reranking approachPrecision gainWhere it failsProduction failure modeRisk level
No reranking (vector similarity only)Baseline. High recall, low precision on complex queries. Top-K sorted by cosine distanceQueries where the most relevant chunk is not lexically or semantically closest to the query in embedding spaceLLM context filled with loosely-relevant chunks; answer quality degrades on multi-step or domain-specific queries; teams attribute failures to model quality rather than retrieval rankingCritical
BM25 + vector hybrid retrieval, no rerankerBetter recall through lexical + semantic coverage. Recall@20 climbs from ~65% to ~78-91% on mixed corpora (practitioner estimates)Hybrid retrieval improves recall but not ranking quality. Two score distributions (BM25 and cosine) must be fused; score normalization errors produce noisy rank ordersTop-5 results include a mix of high-recall and low-precision chunks; RRF fusion helps but does not resolve query-specific relevance; reranker is still needed to separate answer-bearing chunks from adjacent onesHigh
Lightweight cross-encoder reranker15-42% precision@5 improvement over embedding-only retrieval. 50-100 ms added latency per query at p50 on a single cross-encoder (ms-marco-MiniLM-L6, BAAI/bge-reranker-base)Degrades on multilingual queries against English-trained rerankers. Underperforms on very short keyword queries where there is no sentence-level context for the cross-encoder to exploitReranker adds latency with minimal gain on short queries (<5 tokens); multilingual corpora get systematically mis-ranked if the reranker was not trained on those languagesHigh
Domain-fine-tuned cross-encoder rerankerBest precision on domain-specific queries. A reranker fine-tuned on healthcare or legal query-passage pairs outperforms a general cross-encoder by 8-18% on in-domain queries (practitioner estimates)Requires labeled training data: query-passage relevance pairs from your domain. Without them, fine-tuning on generic data produces a reranker that overfits to general language patternsFine-tuned reranker deteriorates when the document corpus changes significantly; requires retraining cadence tied to corpus evolution; without labeled data, teams attempt fine-tuning on synthetic data that does not reflect real query distributionModerate
Adaptive reranker routing with query classifierBest precision-to-latency ratio. A classifier routes short/keyword queries to lexical ranking and complex conversational queries to cross-encoder reranking, skipping the latency cost where reranking does not helpClassifier adds its own latency and maintenance overhead. Query type boundaries are ambiguous; misclassification sends complex queries through the fast path and degrades their answer qualityClassifier trained on a sample that does not represent production query distribution produces systematic routing errors; most teams underestimate the maintenance cost of keeping the classifier current as query patterns evolveLower

The most common reranking mistake in enterprise RAG is adding a cross-encoder before measuring base retriever recall. Reranking can only promote a relevant chunk to position 1 if that chunk was retrieved in the first place. A retriever with recall@20 of 50% means that half the time the correct chunk is not in the set the reranker sees. In that situation, reranking improves the ranking of what was retrieved but cannot fix the underlying recall gap. Measure recall@20 or recall@50 before deploying a reranker; if it is below 70%, address the retrieval configuration first.

Not sure where your RAG pipeline's retrieval precision gaps are?

10decoders audits your RAG pipeline's retrieval and ranking configuration against your actual query distribution, identifies whether your baseline recall justifies a reranker, and builds the reranking and evaluation layer your production accuracy requirements demand. Our DocuFindr platform combines hybrid retrieval with reranking for enterprise document search in healthcare and legal contexts.

Book a Free AI Assessment →

Why reranking fails when recall is low and latency budget is ignored

Two conditions kill reranking in production pipelines, and both are predictable from the design phase. The first is deploying a reranker on top of a single-method retriever with low recall. If you retrieve the top-10 chunks by cosine similarity and the correct chunk is at position 12 or 15, the reranker never sees it. The reranker will produce a good ranking of the ten chunks it was given, but the answer quality will not improve because the right chunk was filtered out before the reranker ran. The fix is to over-retrieve before reranking: retrieve the top 50 or 100 candidates, rerank those, and pass only the top 3 or 5 to the LLM. This is the standard retrieve-large, rerank-to-small pattern, and it requires that your retrieval index and query infrastructure can handle the higher candidate volume without unacceptable latency.

The second condition is mismatched latency budgets. Cross-encoders are computationally intensive because they process each query-chunk pair jointly rather than comparing pre-computed vectors. A cross-encoder reranking 100 candidates adds 200-500 ms at p99 on standard CPU inference. For a synchronous user-facing search interface with a 300 ms latency budget, that is a non-starter. For an asynchronous document processing pipeline with a 5-second budget, it is trivial. Teams that add reranking without modeling the latency impact under production load find that the p99 latency spike under concurrent queries exceeds their SLA before the reranker's precision benefits are realized. Measure latency impact on your actual hardware at your peak concurrent query rate before deciding whether a cross-encoder, a lightweight bi-encoder reranker, or a managed API reranker (Cohere Rerank, Jina Reranker) fits the budget.

A third underappreciated failure mode is running a reranker on a multilingual corpus with an English-trained model. A cross-encoder trained on English MS MARCO query-passage pairs will systematically deprioritize relevant chunks in French, German, or Japanese, even when the query is in the same language as the chunk. If your enterprise corpus includes multiple languages, verify the reranker's benchmark performance on each language before deployment. BAAI/bge-reranker-v2-m3 and multilingual variants of Cohere Rerank address this, but the tradeoff is higher latency compared to the lightweight English-only models.

Stage 1
Vector similarity only

Top-K by cosine distance

Fast, scalable retrieval with good recall but limited precision. Relevant chunks at positions 5-8 in a top-10 list degrade answer quality. No additional ranking pass; what the retriever returns is what the LLM sees.

Stage 2
Hybrid retrieval + cross-encoder

Retrieve large, rerank to small

BM25 and vector retrieval fused with RRF over top-100 candidates. Cross-encoder reranker scores each query-chunk pair jointly, producing a precision-sorted top-5. Adds 50-100 ms latency at p50 on GPU inference.

Stage 3
Adaptive routing

Query-type classifier + tiered reranking

A lightweight classifier routes short keyword queries through fast lexical ranking and complex conversational queries through the cross-encoder. Domain-tuned reranker for the highest-stakes query types. Recall and precision baselines measured per query class.

The reranking deployment checklist

Each item below should be confirmed before a reranking layer goes to production. Most reranking failures in enterprise RAG pipelines trace back to skipping the measurement steps in favor of moving quickly to deployment.

RAG reranking pre-deployment checklist
Baseline recall@50 measured on a representative query set before adding any reranker.Run 200-500 representative queries against your retrieval index and measure how often the ground-truth chunk appears in the top-50 results. If recall@50 is below 70%, a reranker will not fix the precision problem because the correct chunk is not in the candidate set often enough for reranking to promote it. Address the retrieval configuration first: embedding model choice, chunk size, metadata filtering, or switching to hybrid retrieval with BM25.
Retrieve-large, rerank-to-small pattern adopted: retrieve top-50 to top-100, rerank, pass top-3 to top-5 to the LLM.A reranker that sees only the top-10 retrieval candidates is constrained by whatever the retriever returned. Expanding the candidate pool to 50-100 before reranking gives the cross-encoder more candidates to sort and substantially increases the chance that the best chunk ends up in the final context. The cost is higher retrieval volume, which your index infrastructure needs to handle. Measure index query time at top-100 before committing to this pattern.
Reranker latency measured at peak concurrent load, not single-query throughput.Single-query latency for a cross-encoder over 100 candidates is typically 50-100 ms on GPU inference. Under concurrent load, that number rises non-linearly as batch queues form. Benchmark the reranker at your expected peak concurrency before deployment. If p99 latency exceeds your SLA, consider a smaller model (MiniLM-L6 vs. L12), a managed API reranker with auto-scaling, or reducing the candidate pool size.
Reranker evaluated on your corpus language distribution, not just English benchmarks.nDCG@10 scores on TREC DL or MS MARCO tell you how a reranker performs on English queries against English passages. If your enterprise corpus includes French, German, Spanish, or any other language, evaluate the reranker on a sample of in-language queries before deployment. A lightweight English-only cross-encoder can perform 20-35% worse on non-English queries than its English benchmark suggests, and that degradation typically goes unnoticed until someone reports poor answer quality on a specific language subset of your user base.
A/B evaluation comparing retrieval quality before and after reranking on your actual query set.Do not rely on published benchmark scores to decide whether a reranker helps your pipeline. Run your own before-and-after evaluation: retrieve with and without the reranker on a labeled query set, measure precision@3 and precision@5, and compare. Include edge cases: short keyword queries, multilingual queries, and queries that require combining information from multiple chunks. The reranker should show clear precision gains on your query distribution before it goes to production; if it does not, the base retriever may need more work first.
Reranker performance monitored after corpus or query distribution changes.A reranker calibrated on your corpus in Q1 may degrade in Q3 if the document corpus grew significantly or the query distribution shifted. Monitor precision@5 on a weekly sample of real queries and compare it against the baseline you measured at deployment. Any drop of more than 5 percentage points in a rolling window warrants a re-evaluation of whether the reranker needs fine-tuning or whether a different model fits the evolved corpus better.
Short-query and keyword-query handling defined separately from conversational query handling.Cross-encoders produce their biggest gains on queries of 8 or more tokens where there is enough sentence structure for the model to assess semantic relevance. On 1-4 token keyword queries, the cross-encoder's advantage over BM25 diminishes substantially, and the latency overhead is not justified by the precision gain. Define what a short or keyword query looks like for your use case, route those queries through a fast lexical ranking path, and reserve the cross-encoder for the conversational and complex queries where it earns its latency cost.
Your retriever's job is to make sure the right chunk is somewhere in the top-50. Your reranker's job is to make sure it ends up at position 1. Both jobs matter, and neither substitutes for the other.

What to do this week

01 Measure your current retriever's recall@50 on a representative query sample

Pull 200 representative queries from your production logs, run them against your retrieval index, and check how often the ground-truth chunk appears in the top-50 results. This single measurement tells you whether your pipeline's answer quality problem is a retrieval recall gap or a ranking precision gap. If recall@50 is below 70%, adding a reranker will not fix the issue and you should work on the retriever first. If recall@50 is above 70%, a reranker will almost certainly improve precision@5, and you can move to evaluating which model fits your latency budget.

02 Benchmark a lightweight cross-encoder on your corpus before spending time on fine-tuning

BAAI/bge-reranker-base and ms-marco-MiniLM-L6-v2 are both freely available, run on standard GPU infrastructure, and perform well on English enterprise corpora without domain fine-tuning. Before investing in labeled training data for a domain-specific reranker, run one of these on your labeled query set and measure the precision@5 gain. If the out-of-the-box precision improvement meets your accuracy requirement, fine-tuning is unnecessary. If the gain is insufficient and the failure cases cluster around domain-specific terminology, that is when fine-tuning on your own query-passage pairs becomes worth the investment.

03 Set up the retrieve-large, rerank-to-small pattern this sprint

Switch your retrieval call from top-K to top-50 or top-100, route those candidates through a cross-encoder, and pass only the top-3 or top-5 to your generation step. Measure p50 and p99 latency on a load test at your expected peak concurrency before merging to production. The pattern is well-documented in LangChain, LlamaIndex, and Haystack; the implementation work is typically a half-day. The latency measurement at load is where most teams discover they need a smaller model or a managed API with autoscaling.

04 Add a precision@5 metric to your RAG evaluation suite alongside your existing metrics

Most RAG evaluation suites measure faithfulness and answer relevancy at the generation level. These metrics can score high even when the retriever is passing mediocre chunks, because a capable LLM will produce a coherent answer from whatever it is given. Adding precision@5 at the retrieval level, measured against a ground-truth labeled set, surfaces retrieval quality problems that generation-level metrics miss. Run this evaluation weekly on a fresh sample and track it as a primary pipeline health metric alongside answer quality scores.

Let 10decoders tune your RAG pipeline's retrieval precision

We audit your RAG pipeline's retrieval and ranking configuration against your production query distribution, identify whether a reranking layer will move the needle for your corpus, and implement the retrieve-large rerank-to-small pattern with the right model for your latency budget. Our teams have built document retrieval systems for healthcare and legal clients where precision@5 is a business requirement, not a benchmark number.