On this page
Semantic search finds results by meaning instead of by exact words. If a shopper types “chair that doesn’t hurt my back” and gets an ergonomic office chair with lumbar support, that is semantic search working, even though the listing never uses those words.
A keyword engine would look for those literal words and probably come up empty. This guide explains what semantic search means, how a semantic search engine works, and what to do with your own search query data. It is the plain-language background to the relevance work on my Search & Discovery page, and it sits alongside the comparison in hybrid search vs keyword vs vector search.
In plain terms
Keyword search asks whether the same words appear. Semantic search asks whether the meaning is the same. Most production search does both.
What semantic search means
Semantic search is search that works out what the searcher wants and what each document is about, then matches the two on meaning. “Semantic” just means “relating to meaning.” Wikipedia describes it as search with meaning, as opposed to lexical search, which looks for literal matches of the query words.
The term has two uses, and it helps to know which one a vendor means. Older work used it for retrieving knowledge from structured sources such as ontologies and the Semantic Web. Today it almost always means vector embeddings: text is converted into numbers so that similar meanings sit close together, and a query is matched to its nearest neighbors. This article uses the second meaning.
Semantic searching and semantic keywords
“Semantic searching” is just the act of searching this way. A “semantic keyword” has two senses. In SEO writing it means a related term around a topic, such as “lumbar support” in a piece about office chairs. Inside a search engine it matters less, because the engine maps the query and the page to the same meaning instead of comparing keyword lists. A semantic keyword search is usually keyword search with meaning-matching added, which is the idea behind hybrid search.
Semantic search vs keyword search: one catalog, four queries
Here is one office-chair catalog searched two ways. The queries and results are illustrative, written to show the pattern. They are not measured on a real site.
“chair that doesn’t hurt my back”
Keyword: matches “chair” and “back,” so it ranks back cushions high and may return nothing if no listing contains every word.
Semantic: relates the phrase to ergonomic and lumbar-support chairs and ranks those first.
“office seat” (the catalog says “chair”)
Keyword: misses unless someone has added “seat = chair” as a synonym by hand.
Semantic: treats the two words as close in meaning and finds the chairs.
“HC-2210” (a model number)
Keyword: exact match, finds the one listing.
Semantic: an embedding model often treats a code as noise and returns similar-looking codes.
“chair without armrests”
Keyword: matches “armrests” and ranks chairs with armrests first.
Semantic: often blurs the negation too, so it needs a filter.
Semantic search wins the first two, keyword search wins the third, and neither handles the fourth alone. That split is why most teams end up running both. The six-query version, with the failure modes, is in the hybrid search guide.
How a semantic search engine works
A semantic search engine does five jobs. Four run on every query. The last one is optional.
1
Understand the query
Fix spelling, expand abbreviations, pull out filters such as size or price, and decide what kind of query it is. A part number should skip the meaning step. A full sentence should not. This is query understanding.
2
Turn text into embeddings
A model converts each document (once, when you index it) and each query (when it arrives) into a list of numbers called an embedding. Similar meanings get similar numbers. Sentence-BERT made this practical in 2019. Its authors report that finding the closest pair among 10,000 sentences takes about 5 seconds with their method, against roughly 65 hours with plain BERT.
3
Find the nearest documents, fast
Comparing a query with every document does not scale, so engines use approximate nearest neighbor search. A common method is HNSW, a layered graph that jumps toward the right neighborhood and then narrows in (Malkov and Yashunin). It trades a little accuracy for speed. OpenSearch offers it through approximate k-NN search.
4
Merge with keyword scoring
Keyword results, usually scored with BM25, are merged with the vector results into one list. BM25 rewards rare query words and adjusts for document length. A common way to merge is reciprocal rank fusion, which scores each document by its position in each list, so there are no weights to tune.
5
Rerank the top results (optional)
A second, slower model reads the query and each top result together and puts them in a better order. Elastic notes that cross-encoder rerankers are more accurate but more resource-intensive, so they run on a short list only.
Feature names and defaults change between versions, so check the documentation for the version you run.
What to do with search query data
The queries typed into your own search box are the cheapest relevance evidence you have. (This is different from the search query reports in Google Search Console, which show how people reach your site on Google.) Four uses, in the order I would try them.
›
Read the zero-result queries. Elastic’s search team treats a zero-result query as either a content gap or a query that failed to parse. Semantic search fixes some of the second kind. How to fix zero-result searches shows how to sort them.
›
Sort queries by type. Part numbers and brand names, short generic words, and long descriptive phrases need different handling. The mix tells you whether semantic search will help at all.
›
Build a test set. Take 100 to 200 real queries, rate the results, and compare keyword, semantic and hybrid by query type. The steps are in the hybrid search guide. Re-run the set after any change to the model, the merge settings or the synonyms.
›
Use clicks as a signal, carefully. Elastic treats clicks as implicit relevance judgments, with conversions as a stronger signal. OpenSearch’s User Behavior Insights plugin logs queries and the clicks that follow. People click what ranks first, so use clicks to find problems, not to prove a ranking is right.
If you have no query log yet, start capturing the query text and result count today. For a wider check of your search, see the 10-point e-commerce search health check.
When semantic search is the wrong tool
Semantic search is not an upgrade you apply to every search box. It is the wrong choice, or only half of the answer, in these cases.
›
Exact identifiers. Part numbers, SKUs and codes need exact matching. Keyword search does that better.
›
Small, clean catalogs. A few hundred products with consistent titles and hand-managed synonyms rarely need vectors.
›
Negation and hard rules. “Without leather” and “under $50” are filters. Handle them in query understanding, not in embeddings.
›
Rankings you must explain. “Why did this rank here?” has a plain answer with keywords and a harder one with vectors.
›
Specialist vocabulary. A general embedding model can miss your industry’s terms. Test it on your content before you trust it.
›
Cost and latency. You embed every document and every query, and the vector index needs more memory than a keyword index.
That is why hybrid usually wins: each method covers the other’s blind spot. One case where meaning clearly matters is Turning a Contract Audit Into a Search Query. A clause about audit rights can be worded many ways, so I matched on meaning across 510 public contracts and then re-ranked sentences. It is a public research dataset, not a client, and the page lists what is still unsolved, such as latency.
Adding semantic search to Elasticsearch or OpenSearch
If you already run Elasticsearch or OpenSearch, you generally do not need a new engine. Both can store vectors and run hybrid queries in current versions. The work is choosing an embedding model, indexing the vectors and tuning the merge on your own queries. If you want a second opinion on that setup, see my OpenSearch and Elasticsearch consulting page.
Common questions about semantic search
What is semantic search in simple terms?
Search that matches meaning, not only exact words. The engine converts the query and each document into embeddings and returns the closest matches, so “office seat” can find a chair.
Is semantic search the same as vector search?
Nearly. Semantic search is the goal (match meaning) and vector search is the usual technique (compare embeddings). The hybrid search guide compares both with keyword search.
What is a semantic search engine?
Any engine that retrieves by meaning, using embeddings and nearest-neighbor search, usually alongside keyword scoring and sometimes a reranker. Elasticsearch and OpenSearch can both do it.
Does semantic search replace keyword search?
Rarely. Keyword search is better at exact terms such as part numbers and brand names, so most teams run both and merge the results.
What search query data do I need?
Start with the query text and the number of results returned. Add the clicks that follow each query when you can, and conversions if you track them. Most sites already have the first two.

