Semantic Search
- vector search
- similarity search
What is Semantic Search?
Semantic search embeds the query and compares it against stored embeddings, returning the nearest ones. Because matching happens in vector space, results can be relevant without sharing any vocabulary with the query.
In practice
The pipeline is short: embed the query with the same model used at index time, run an approximate nearest-neighbour search, apply any metadata filters, and return the top results. What this buys you is robustness to paraphrase, synonyms and the gap between how users phrase questions and how documentation phrases answers — the failure mode keyword search is worst at.
It has a complementary weakness, and it is sharp. Exact identifiers — an error code, a SKU, a function name, a version string — are precisely where lexical matching excels and embeddings blur, because a near-identical token sequence sits close to many similar sequences in vector space. This is why serious retrieval systems run hybrid search: keyword scoring and vector scoring in parallel, fused into a single ranking, so exact matches and conceptual matches both surface.
The misconception is that semantic search understands the query. It computes geometric proximity between two vectors. Proximity correlates with relevance often enough to be useful and diverges often enough to need help — from filters that encode hard constraints, from recency signals where freshness matters, and from a reranking stage that judges query and passage together rather than in isolation.
Related terms
Articles covering this
Where Semantic Search shows up in practice rather than in definition.