Learning series · 6 episodes · Senior / Staff / Principal
Search Returned an Answer. Was It the Right One?
Six connected lessons on inverted indexes, relevance, refresh semantics, distributed top-K, faceted counts and live reindexing.
Start series →Follow the decisions in order
- Part 1 of 6
Senior
The title contains the word. Why is the database reading every row?Distinguish leading-wildcard scans, token retrieval and arbitrary substring matching, then select suitable indexes and semantics.
- Part 2 of 6
Staff
Search takes 40 milliseconds. Why are the first ten results wrong?Separate lexical BM25 score, candidate recall, graded ranking quality and user success using judged queries and safe experiments.
- Part 3 of 6
Staff
Elasticsearch acknowledged the document. Why can't search find it?Differentiate index durability, search refresh, Lucene commit, and immutable-segment merging without false ordering assumptions.
- Part 4 of 6
Staff
Each shard returned its best ten. Why is the global top ten wrong?Prove when local top-K is globally sufficient, identify shard-local scoring divergence, and design consistent pagination and fanout.
- Part 5 of 6
Staff
The filter says 1,200 jackets. Why can search find only 1,130?Define exact facet query populations, distinguish post filters, and reason about approximate shard-local terms buckets.
- Part 6 of 6
Principal
The new index has two billion documents. Can we switch search to it now?Migrate search mappings through consistent snapshots, change history, version-safe writes, cutover and reversible rollback.