Compare Architectures

Side-by-side: use case, requirements, latency, cost, strengths, weaknesses, failure modes, example — and when to choose each.

Vector searchBM25
Use caseSemantic matches: paraphrases, synonyms, cross-lingualExact matches: IDs, error codes, product names, rare terms
RequirementsEmbedding model, vector index (HNSW / IVF), consistent embedding on write and readInverted index, tokenizer; no model
LatencyEmbed query (~10-50 ms) + ANN searchSub-millisecond lookups on modest corpora
CostEmbedding calls plus vector store memoryCheap: CPU and disk only
StrengthsFinds meaning without shared vocabularyPrecise, explainable, zero drift when the model changes
WeaknessesMisses exact tokens; opaque failures; re-embed on model changeVocabulary mismatch: "cancel" does not match "terminate"
Failure modesSemantically close but factually wrong chunks rank topZero results for paraphrased queries
Example"how do I stop my plan" → cancellation policy"ERR_4471" → the one runbook that mentions it
Choose this whenChoose vector search when users phrase things differently from the documents.Choose BM25 when queries contain exact identifiers, or as the baseline before adding embeddings; combine both as hybrid when in doubt.