Keyword search vs semantic search
Keyword search asks whether two pieces of text share words. Semantic search asks whether they mean the same thing. Neither is strictly better — they fail on different queries, which is why most serious systems run both and combine the results.
Side by side
| RubyRep | Keyword search | |
|---|---|---|
| Synonyms and paraphrase | Handled | Zero results |
| Exact product codes | Unreliable | Exact |
| Explainability | A similarity score | The matched words |
| Cost to index | An embedding per chunk | An index entry |
| Rare words | Can be diluted | Strong signal |
| Behaviour on no match | Weak but ranked results | Nothing |
Where Keyword search is stronger
- Exact on identifiers — a product code, a part number, a person's surname
- Cheap, fast, and explainable: you can see why a result matched
- No embedding step, so nothing to recompute when content changes
Where RubyRep is stronger
- Finds the answer when the customer's words differ from yours
- Handles questions rather than nouns
- Degrades gracefully — a near match still ranks, rather than returning nothing
Which one you actually want
Choose Keyword search if
- Users search for identifiers they already know
- You need to explain exactly why a result appeared
- Content changes constantly and re-embedding is a real cost
Choose RubyRep if
- Users describe what they want rather than naming it
- Your zero-result rate is high on a content-rich site
- Questions arrive as sentences
The honest answer
The failure modes are complementary, which is the whole reason hybrid retrieval exists. Semantic search dilutes a rare exact token — a serial number becomes a direction in space like any other word — while keyword search returns nothing at all for a paraphrase. Running both and merging costs little and removes both blind spots. Where only one is possible, pick by whether your users name things or describe them.
Questions
- Is hybrid search complicated to run?
- Less than it sounds. Both are queries against the same content; the work is in merging two ranked lists, which is a solved problem.
- Which does an AI representative use?
- Semantic as the primary, with keyword matching as a fallback when embeddings are unavailable or similarity scores come back weak.
Related
term
What is semantic search?
Keyword search asks whether two pieces of text share words. Semantic search asks whether they mean the same thing. The difference shows up immediately in customer questions, because customers do not use a company's vocabulary: someone asks 'can I send it back?' about a page headed 'Returns and exchanges', and the two share not one significant word.
term
What is an embedding?
Embeddings are why an AI representative can answer "do you deliver to Berlin?" from a page that only says "we ship across the EU". Text is converted to vectors, and similar meaning lands close together.
term
What is cosine similarity?
It is the standard way to compare embeddings, and its defining property is that it ignores magnitude entirely. Two vectors pointing the same way score identically whether one is twice as long as the other. In practice, scores for text embeddings tend to fall in a narrow band — often 0.6 to 0.9 for anything vaguely related — which is why a raw score is meaningless without knowing the distribution for a given model.
term
What is a vector database?
Comparing a question to every stored passage is exact and gets slower in proportion to how many passages there are. A vector database trades a little accuracy for a large speed gain by building an index that skips most of the comparisons. That trade is worth making at millions of vectors and is close to pointless at thousands.
Judge it on your own website.
Comparison tables only get you so far. Point RubyRep at your site and read the answers it gives about your business.