Embedding drift
Embedding drift is when the vectors in your search index no longer match how your current model reads text. It usually happens after you upgrade the embedding model but only re-embed part of your content. The trap: nothing crashes. Search just quietly starts returning worse matches.
Why it matters
Retrieval only works if the query and the stored chunks were embedded by the same model the same way. Mix two model versions and "similar" stops meaning similar, so the right document sits in your index and never gets pulled. Your answers get vaguer and you blame the prompt, when really half your vectors are speaking a slightly different language. It also creeps in over time as you add fresh content with a newer embedder than the old backlog.
How it works
Pin the embedding model version in your index metadata and refuse to query across versions. When you change embedders, re-embed the whole corpus and swap the index in one atomic step. To measure drift, keep a small set of query-to-known-document pairs and check that recall holds after any embedding change. A sudden drop in retrieval scores with no code change is the classic fingerprint.
A support bot's docs were indexed a year ago on an old embedding model. The team upgrades to a better embedder for live queries but only re-embeds articles added since. A user asks about the refund window. The new query vector and the old article vector do not line up, so the bot confidently answers from a worse-matching page instead of the exact policy sitting right there in the index.