Interactive explanations of how search behaves: scoring, metrics, phenomena, and even interpretability. Inspired by Distill and Complexity Explorables.
Start with word rarity, build a score, combine rankers, evaluate the list, then see what limits a reranker.
idf and Zipf's law → BM25 → Rank fusion → Evaluation measures → Retrieve, then rerank
Choose a geometry, add filters, search it approximately, inspect hubs, then match token by token.
Similarity metrics → Filtered vector search → Approximate nearest neighbours → Hubness → Late interaction
Move from an explicit scoring rule to behavioural tests, soft counts, causal interventions and their costs.
BM25 → Behavioural tests → Soft term matching → Activation patching → Model editing
Understand the scoring limit, change the readout, intervene on a feature, then ask whether it would come back on another run.
Single-vector limits → Sparse readouts → Feature steering → Feature stability
Combine evidence, keep the needed candidates, then make room for distinct aspects.
The mechanisms most search systems are built from, each with its formula, a small collection you can read, and every score worked out when you click.
BM25
Two often-overlooked constants decide what BM25 thinks a document is about.
idf and Zipf's law
Why the weight of a word comes from how rare it is, and why that weight can go negative.
Similarity metrics
Same points, four metrics, four different nearest neighbours.
Rank fusion
Reciprocal rank fusion throws away the scores. That is its robustness and its blind spot.
Approximate nearest neighbours
Every approximate index chooses where it can afford to be wrong. Draw the trade-off yourself.
Evaluation measures
Drag one document and watch five evaluation measures disagree about whether you improved anything.
Retrieve, then rerank
A perfect reranker still has to work with the documents it receives.
Filtered vector search
Nearest overall and nearest among eligible documents are different questions.
Result diversity
A useful list needs more than individually relevant documents.
Late interaction
Move one token and watch pooling and token-wise matching disagree.
Results from research papers, as pictures you can drag and test.
Hubness
Why a few documents in your vector database are everyone's nearest neighbour.
Single-vector limits
Some patterns of relevance no single vector per document can express, however good the model.
How to look inside a ranker or a retriever: each page takes one idea from interpretability research, on small examples, with the published results linked.
Activation patching
An active component is not necessarily a component that changes the answer.
Behavioural tests
Agreement on a few behaviours does not identify an algorithm.
Soft term matching
What changes when a match can be a synonym, or the wrong sense of a word?
Sparse readouts
Keep the vectors fixed. Change what you do with them.
Feature steering
The label of a feature is a hypothesis about what your edit will do.
Model editing
Turn down one signal, and measure both the intended effect and the unintended consequence.
Feature stability
Two different sets of features can describe the same text equally well.
How real search engines and databases work inside: what they store, how a query runs, and what they trade off.
Elasticsearch · Coming soon
Inverted indexes, segments and shards: what happens between a query and its first ten results.