Two Signals

Lexical and vector retrieval, and how to combine them.

Read the blog →

Your vector search can’t find ERR_2041. Your keyword search can’t find “the thing that makes the page load slowly” when the document says “latency.”

Neither retriever is broken. They are matching different things — one compares terms, the other compares meaning — and each one is blind precisely where the other sees. Most production retrieval problems are a query landing in one of those blind spots.

This site is about running both and merging the results. What lexical search finds that embeddings miss, and the reverse. How to fuse two ranked lists when their scores aren’t comparable. When a reranker is worth the latency it costs. And, when a query comes back with nothing useful, how to work out which of the two signals let you down — because the fix is different depending on the answer.

No winner is declared here. Every post shows the same query run through both retrievers, with both ranked lists side by side, because claims about retriever behaviour are cheap to make and easy to check.

Latest posts

See all posts →