How does semantic search work?
Most semantic search systems use an embedding model to turn each document, or each chunk of one, into a vector of numbers that represents its meaning. The query becomes a vector the same way, and the system returns the documents whose vectors are closest, often by cosine similarity. Elastic’s documentation describes semantic search as using NLP models and vector search to find results based on meaning, not just keywords.
Keyword search, also called lexical or full-text search, matches words. PostgreSQL’s documentation describes the simplest version as treating the query as a set of words and similarity as how often those words appear in a document. Full-text engines add stemming, so a search for “satisfy” also finds “satisfies”, and ranking functions such as BM25.
Each approach has strengths. Microsoft’s Azure AI Search documentation notes that vector search finds conceptually similar content even when no keywords match, while keyword search is more precise for product codes, jargon, dates and names. Hybrid search runs both and merges the results, for example with reciprocal rank fusion.
Which kind of search suits a voice agent?
Callers rarely use the words in your docs. Someone asks how to “get my money back” when the article is called “Refund policy”. Semantic search bridges that gap more easily. Keyword search is stronger on exact terms that matter in support, such as error codes, plan names and feature names.
In an AI agent, the search query is usually written by the model rather than copied from the caller, so the model can rephrase a question in your docs’ vocabulary before it searches. That narrows the gap between the two approaches but doesn’t close it.
How does Kawl Now search its knowledge?
Kawl Now uses keyword search, not semantic search. When the agent searches, Kawl Now takes the words in its query, skips words shorter than three characters and scores each approved source for the channel by how many of the query’s different words appear in its title and text. Up to four of the best matches come back as excerpts of about 4,500 characters.
No embeddings are created and no vector database is involved. Matching is literal, with no synonyms and no stemming, although a word also matches inside a longer one, so “invite” finds “invited”.
So write sources the way keyword search can find them: use the words customers say as well as your product’s own terms, such as “add a colleague” alongside “invite a team member”, and keep each source to one topic.
Common questions
What is the difference between keyword search and semantic search?
Keyword search finds documents that contain the query’s words. Semantic search finds documents whose meaning is close to the query’s, even when the words differ, usually by comparing embeddings. Many systems combine the two, because each finds matches the other misses.
Does Kawl Now use semantic search?
No. Kawl Now searches approved knowledge by keyword, so a source is found when it contains the words in the agent’s search query. Writing sources in your customers’ own words helps it find the right one.