A pattern catalog for search engineering
The working vocabulary of production search, organized for retrieval rather than linear reading — in the same structural template Martin Fowler used for Patterns of Enterprise Application Architecture.
Why a catalog
Search engineering has thirty-plus years of accumulated practitioner knowledge. BM25 isn't going anywhere. The retrieval–ranking separation isn't going anywhere. That stability is exactly what makes a Fowler-style catalog work: durable structural vocabulary outlasts specific products. The 76 patterns here are conceptual primitives that recur across Elasticsearch, OpenSearch, Solr, Vespa, Algolia, Coveo, the vector databases, and the cloud search services — even when their implementations differ.
The template
Every pattern entry follows the same shape, which is what makes the catalog scannable as reference:
- Intent — what the pattern accomplishes, in a sentence or two.
- Motivating Problem — the situation that requires it.
- How It Works — the mechanics, in clear steps.
- When to Use It — best-fit conditions and explicit limits.
- Sources — where the pattern is documented in industry practice.
- Example artifacts — code or configuration, where it helps.
What it is, and isn't
It is reference material — a working library for search-engineering practice. It is not a textbook (Manning, Raghavan & Schütze's Introduction to Information Retrieval remains foundational and is free online), not vendor documentation, and not a research survey. The gap it fills is a Fowler-style pattern catalog applied to search — a format gap in the existing literature, not a content gap.
How to cite
Kagan, R. The Search Engineering Series (draft v0.1), RelevantSearch.AI, 2026. Cite individual patterns by volume and title, e.g. “Reciprocal Rank Fusion,” The Search Patterns Catalog (Vol 1).
Consulting
The catalog is the public face of my search-relevance consulting practice. If you're improving production search — evaluation, relevance tuning, hybrid or LLM-augmented retrieval, platform decisions — I'd be glad to help.