Skip to content

AI Systems

Semantic search: find it in the words people actually use

A technician types what the customer said. The procedure that fixes it was written by someone else, in other words. Keyword search finds documents that share a word; semantic search finds the ones that mean the same thing, within what that person is allowed to see.
water goes cold after a few minutesKeyword matchMeaning matchCold-weather pipe protectionmatched “cold”Water softener FAQmatched “water”Minutes template, team meetingmatched “minutes”1Water heater: not enough hot water0.862Dip tube replacement procedure0.813Thermostat and element test0.77None of these contains the word “cold”.

Different words for the same problem

Employees describe a problem differently from the document that answers it. Exact keyword search misses the right procedure because its title uses internal terms, and returns the wrong one because it happens to share a word.

Semantic search represents the meaning of each passage, so a question finds passages about the same thing however they're worded. The source, version and access rules stay attached, so results can be inspected and nobody sees what they shouldn't.

Three searches

Meaning wins most of the time. Not always.

heater makes a popping noise

as T3

  1. 1

    Sediment build-up: flushing procedure (top result)

    Procedures

    why: describes the noise as “rumbling”

    score 0.84
  2. 2

    Annual water heater service checklist

    Procedures

    why: flushing is step 4

    score 0.72
  3. 3

    Anode rod inspection

    Procedures

    why: related maintenance

    score 0.66

Matched on meaning. The procedure never uses the word “popping”.

How a result earns its place

  1. Permitted

    Only what this reader may see

    Access is applied before anything is compared, so a private passage can't win.

  2. Close in meaning

    Not just shared words

    Passages are compared by what they're about, however they're worded.

  3. Exact terms count

    Codes, names, part numbers

    A keyword boost for the things that must match exactly.

  4. Reranked when it helps

    A second look at the top

    A slower, closer comparison of the leading results, added only when tests show it improves them.

Tested against real questions

Questions the team actually asks, the passage that should come back, and where it ranked. Rerun after every change to sources or ranking.
“heater makes a popping noise”Sediment flushing procedure1st
“E4 on the tankless”Tankless error codes, E41st with exact terms; 2nd without
“customer smells gas near the heater”Gas smell: stop work and leave1st
“how do I log a callback”Callback logging in the job app2nd
“what do technicians earn on overtime”, as T2Nothing from HRNot shown, as intended

What search hands off

In

Passages
source, version, access
Reader
role and groups
Query
in their own words
Search
permission → meaning → exact terms

Out

Ranked passages
with sources
Nothing private
never a candidate
Search log
what wasn't found

Worth building when the right words are the obstacle

Good fit

  • Useful knowledge exists across documents, but people can't find it with the words those documents use.
  • The same questions get asked in many different ways.
  • Content has owners and access rules.

Not the right fit

  • The task is an exact lookup by an ID, such as an order number. A plain search does that.
  • Source quality and access ownership haven't been settled yet.

Questions about semantic search

Is this the same as RAG?

No. Search returns passages and documents. RAG takes those passages and writes an answer from them. Many teams need good search first; RAG adds the answer on top.

Does it replace keyword search?

It works alongside it. Exact matches still matter for codes, names and part numbers, so ranking can combine both when tests show it helps.

Can it search across all our tools at once?

Yes, once content from each tool is brought in with its source and permissions. Every result links back to the original.

How do we know it's better than what we have?

Run the same test questions through both, before and after. The list of questions and expected passages makes the comparison concrete.