Quick answer

Semantic search returns results that mean the same thing as your query even when they share no words. It converts the query and each document into embeddings (vectors that capture meaning) and finds the documents whose vectors are closest. It is the retrieval step in RAG and the engine behind "ask your documents" features. It can miss exact identifiers and always returns something, so production systems pair it with keyword search and a reranker.

Type "how do I stop paying" into a keyword search and you get pages containing "stop" and "paying". Type it into a semantic search and you get the page titled "Cancelling your subscription". That gap is the whole idea.

How it works

  • An embedding model turns text into a list of numbers where similar meanings land close together
  • Every document (or chunk of a document) is embedded once and stored in a vector database
  • At query time the question is embedded the same way
  • The database returns the stored vectors nearest to the query vector
  • Optionally a reranker re-scores the top results with a more careful model

Where it wins

Natural-language questions, synonyms, paraphrases, and multilingual queries. Customer support, internal knowledge bases, and research tools all benefit because people rarely use the exact words in the document. It is why Notion, Slack, Glean, and every RAG app switched to it.

Where keyword search still wins

Exact things: product codes, error messages, names, legal citations. An embedding model may consider "ERR-4471" and "ERR-4417" nearly identical; a keyword index knows they are different. Semantic search also returns its nearest neighbours even when nothing relevant exists, which is how RAG systems end up confidently citing the wrong document. Hybrid search, running both and merging the results, is the standard fix.

Bottom line

Semantic search understands questions; keyword search respects exact strings. Good systems use both, and the quality of the embedding model matters more than the database that stores the vectors.