Semantic search matches a query by meaning rather than by word overlap. In keyword search a document matches to the extent that it contains the query's words. In semantic search the query and the documents are represented in the same vector space and closeness is computed over meaning.
It works like this. Documents are passed through an embedding model in advance, turned into vectors and written to a vector store. When a query arrives it is embedded too, and the store is searched for nearest neighbours. Results usually pass through a reranking step, because the first retrieval is fast but coarse.
The gain shows up with synonyms and indirect phrasing. A query like "how do I download my bill" can find a page that never uses the word download and instead says "you can export your documents from your account". Typos and cross-language equivalents get tolerated the same way.
A concrete case: a help centre holds 600 articles and a third of the queries typed into its search box return nothing. After embedding the articles and switching to semantic search, the no-result rate drops noticeably, because visitors type their own words rather than the terms in the article titles.
Semantic search does not solve everything on its own. Product codes, brand names and exact-phrase lookups are still served better by keyword matching, which is why most systems run both together.


