Semantic search retrieves documents by meaning rather than keyword overlap, using embedding similarity to find results that match the intent behind a query.
Semantic search converts queries and documents into embedding vectors, then ranks results by distance or similarity in that vector space. A query about 'cheap vacation spots' can match a document that never uses those exact words but describes budget travel destinations.
That shift from symbols to vectors is what changed search quality over the last decade. Keyword search depends on exact terms; semantic search depends on what those terms represent. The same word can have different meanings in different contexts, and embeddings capture that context rather than treating every token as an isolated symbol.
Think of it like this. Think of searching a library by topic rather than title. You ask about coastal getaways and the librarian returns travel guides about seaside towns, even if none of them have 'getaway' in the title.
Text is converted into fixed-length embedding vectors by a model trained on semantic similarity. At query time, the query is embedded and compared against a document index using cosine similarity, dot product, or Euclidean distance. The top nearest neighbors are returned as results.
"Semantic search replaces keyword search." They complement each other; exact matches for names and codes still matter. "Any embedding model works." Domain-specific text often benefits from domain-adapted encoders. "More dimensions is better." Higher-dimensional embeddings can be noisier and slower to index.
Handles paraphrase and intent well, but needs embedding infrastructure and indexing. Great for natural-language queries; weak for exact-match requirements like part numbers, codes, or proper nouns.