About Two Signals

Two Signals covers one stage of the retrieval pipeline: given an index, which passages come back and in what order.

The premise is that there are two mature ways to retrieve text — lexical scoring over terms, and nearest-neighbour search over embeddings — and that they fail in opposite directions. Lexical search cannot match a paraphrase. Dense search cannot reliably match an identifier. A system running only one of them has a whole class of queries it will never answer, and usually nobody has characterised which class.

What you’ll find

What each signal actually compares, and the failure classes that follow. Fusing two ranked lists whose scores mean different things — reciprocal rank fusion, score normalisation, weighted combinations, and what each one throws away. Reranking with cross-encoders: what it fixes, what it costs, and where in the pipeline it belongs. Query transformation, and which signal it’s really helping. And diagnosis: given a query that returned nothing useful, working out which signal missed and why.

Every behavioural claim comes with the same query run through both retrievers and both ranked lists shown, marked for relevance.

What you won’t find

A recommendation to use one over the other. The site exists because both are insufficient. If you’re looking for an article arguing that semantic search makes keyword search obsolete, or that BM25 quietly beats everything, there are many; this isn’t one.

Benchmarks. No invented recall or NDCG figures, no “hybrid improves results by X percent.” Which signal wins, and by how much, depends on your corpus and your queries — so what’s offered here is the mechanism and a way to measure it yourself.

Index internals. How approximate nearest-neighbour search works under the hood is a genuinely interesting subject and a different one. Here, vector search is a black box that returns a ranked list, and only its behaviour matters.

Scope

Selection only. How documents got chunked, how an index finds neighbours, how retrieved passages get fitted into a context window, and how to evaluate a full RAG system are all adjacent problems that stop at this site’s edges.

Contact

No newsletter, no tracking, no comments. The RSS feed is at /rss.xml.