Semantic search retrieves results based on what a query means rather than the literal words it contains. It works by converting both the query and the candidate documents into embeddings — vectors that capture meaning — and ranking documents by how close they sit to the query in that vector space. A search for "how to undo a commit" can surface a document about "reverting changes in git" even though the wording differs.
This is a step beyond traditional keyword search, which fails when users and documents describe the same idea with different terms. Semantic search tolerates synonyms, paraphrases, and natural-language questions, which is why it underpins modern documentation search, support bots, and the retrieval step of most RAG systems.
Its strength is also its boundary. Semantic search is reactive: it answers a query someone thought to type. It is excellent at surfacing the most relevant document for an explicit question, and weaker at the proactive job of telling someone what they need to know before they ask — for code, that proactive delivery comes from context anchored to the files in play, not from a similarity score over prose.