In this guide 6 sections
Keyword search finds exact strings such as a part code, invoice number or clause reference. Semantic search finds passages that mean the same thing in different words. Use keyword matching when you know the exact term, semantic matching when you do not, and run both side by side.
What keyword search does well
Type INV-20418 and a keyword engine returns the one document that contains it. Nothing else. That precision is why it still runs most document systems, from shared drives to accounts payable archives.
It also behaves predictably. If a hit is missing, you can see why: the file was not indexed or the spelling differs. Support staff can debug that in minutes.
Use it where identifiers carry the meaning: purchase order numbers, serial numbers, drawing revisions, batch codes, customer account IDs. A meaning-based engine can blur these, because two similar codes look alike to it.
- Invoice, PO and delivery note numbers
- Part codes and drawing revision letters
- Statute or clause references such as 14.3(b)
- Names of people, sites and vendors
Where keyword search fails
A facilities manager wants the clause that lets the landlord end the lease early. The contract says termination for convenience. A search for lease cancellation returns nothing.
The reader knows the idea but not the legal wording. Keyword engines punish that gap. It is the most common complaint about shared-drive search.
Synonym lists patch some cases. They need constant upkeep. Nobody has time to maintain one for the jargon of legal, stores, finance and maintenance.
How semantic search finds the clause nobody can name
Semantic search turns each passage into a list of numbers, called an embedding, that captures its meaning. Your question becomes numbers too. The engine returns passages whose numbers sit closest to the question.
So a question about ending the lease early lands on the termination for convenience paragraph, even with no shared words. Staff who have never read the contract get to the right page.
It has limits. Results are ranked by closeness, not certainty, so a weak match still appears. A good setup shows the source passage next to every answer so the reader can judge it.
- Policies described in staff’s own words
- Contract clauses with unfamiliar legal phrasing
- Support tickets about the same fault, worded differently
- Procedures that mention a task without its official name
Why serious systems run both together
A hybrid setup sends one query down both routes and merges the ranked lists. Ask for the warranty terms on pump P-7731 and the keyword side pins the part, while the semantic side finds the warranty paragraph that never names it.
This is not exotic. Most good enterprise search is built this way. The merge step, called re-ranking, is where much of the tuning effort goes.
Skipping the keyword half is a common mistake. It hurts. Teams switch to meaning-based search and then find that nobody can locate an invoice by its number.
How to test before you commit
Collect fifty real questions from your staff, half with exact identifiers and half in plain language. Run them through both approaches and mark each result right or wrong.
The split in your results tells you the mix. A library full of contracts leans semantic. A parts catalogue leans keyword.
Hand the marked sheet to whoever builds the search. It becomes the acceptance test. Rerun it after every index change.
Search test sheet
Fifty numbered rows fill one printed page. Columns hold the real question, whether it contains an exact identifier, the expected document, the keyword result, the semantic result and the hybrid result, each marked right or wrong. Totals at the foot show which approach wins for each question type.
Open a blank worksheet to printQuestions owners ask
Is semantic search the same as an AI chatbot?
No. Semantic search only retrieves passages. A chatbot may then write an answer from them. You can adopt the retrieval half alone and keep people reading the source.
Will semantic search read scanned PDFs?
Only after text recognition adds a text layer. Without it the engine has nothing to turn into embeddings.
Does our existing search need replacing?
Often not. Keep the keyword index you have and add a meaning-based layer beside it for the questions it misses.
