Tagged “tradeoffs”
-
How many candidates to retrieve
Retrieval depth, fusion depth, rerank depth, final depth. Where each cut-off silently loses the right document, and how to find yours.
-
Filtering before or after you retrieve
A metadata predicate applied after the search returns an empty list; applied before, it changes what the search means. Neither is free.
-
When a reranker earns its latency
A cross-encoder reads the query and passage together, which is why it ranks better and costs more. Where it belongs, what to feed it, and when to skip it.
-
Fusing two ranked lists
BM25 scores and cosine similarities aren't on the same scale. Reciprocal rank fusion, score normalisation, and what each method throws away.
-
What keyword search misses
Vocabulary mismatch: when the user's words and the document's words don't overlap, term scoring has nothing to score. Where stemming stops helping.
-
What vector search misses
Identifiers, rare terms, negation and exact phrases. Five query classes where embeddings return plausible neighbours instead of the document you asked for.
-
Learned sparse retrieval, the third signal
A model that predicts term weights and adds terms the document never contained. What it inherits from lexical search, and what it costs.
-
Weighting one signal over the other
A fusion weight is a claim about your query mix, not your corpus. How to derive one, why a global weight is wrong, and when to skip it.
-
When five results say the same thing
Retrieval returned five passages and one fact. Diversity at query time: per-document caps, marginal relevance, and what each one costs you.
-
Using an LLM as a reranker
Asking a general model to order candidates needs no training data and brings non-determinism, position bias and per-query cost. When that trade works.
-
Routing a query before you retrieve it
Classify the query, send it to the retriever equipped for it. Cheaper than fusion, and it fails completely when the classifier is wrong.
-
Boosting recency without breaking relevance
Superseded documents outrank current ones because relevance ignores dates. Where a time signal belongs in a ranking, and how it goes too far.