Artificial Intelligence / Search design / Practical guide
Use keyword search when users know the names, codes, or terms they need. Add semantic search when people describe a problem using different language from your content. Evaluate hybrid search when your help center must handle both patterns, and keep exact identifiers and access rules explicit.
A search upgrade should help readers reach the right page. It does not need to produce a chat answer. Start with your missed queries and content structure before buying a vector database or replacing an existing search service.
Compare a solid keyword baseline with semantic and hybrid alternatives on the same documents and questions. Judge useful results, exact-code behavior, permissions, response time, and operating effort together.
01 / Keyword, semantic, and hybrid search
Keyword search is broader than a literal string comparison
In this guide, keyword search means lexical or full-text retrieval. Search engines can analyze document text and queries rather than requiring an identical sentence. Elastic’s full-text search documentation describes this transformation. Therefore, a poor result does not automatically mean you need embeddings; check indexing and text analysis first.
Semantic search targets meaning
Semantic search uses language models and vector search to match meaning, as explained in Elastic’s semantic search overview. In a common embedding-based setup, text becomes a numerical representation used for similarity retrieval. Related wording may match even when the query and document use different terms.
Consider a hypothetical help center whose article is titled “Change your billing contact.” A visitor types “Who gets the invoices?” That is a useful semantic-search test. It is not evidence that a particular model will retrieve the page correctly.
| Approach | Starting use case | Question to test |
|---|---|---|
| Keyword / full-text | Known names, terminology, and document titles. | Do analysis and ranking preserve the distinctions users need? |
| Semantic | Natural-language descriptions and paraphrases. | Does the result solve the actual problem rather than merely discuss a similar topic? |
| Hybrid | A mixture of exact terms and descriptive questions. | Does combining results improve the important queries without hiding precise matches? |
Microsoft’s hybrid search overview describes running full-text and vector queries in parallel and merging their results. This is a candidate to evaluate, not a universal promise of better results on your content.
02 / Give identifiers an explicit path
Product codes, ticket numbers, error identifiers, and version labels deserve their own acceptance checks. A semantically related page can still be useless when someone needs instructions for one exact model.
Do not confuse the general phrase “keyword search” with Elasticsearch’s specific keyword field type. Elastic recommends that type for structured values such as IDs and status codes, while text fields serve full-text search. See the keyword field reference.
For a hypothetical product called “Dock K42,” retain the product ID in a dedicated field alongside its descriptive text. Decide whether a recognized exact ID should trigger a direct lookup, a filter, or a strongly preferred result. Document the intended behavior before tuning a ranking system.
- Test punctuation, spaces, and capitalization that customers actually use.
- Include two similar identifiers so a near match cannot pass unnoticed.
- Keep current and retired products distinguishable.
- Check that displayed titles and snippets show why a result matches.
If the correct page is missing from the index, changing the retrieval algorithm cannot make it available. Check source coverage before blaming relevance.
03 / Combining candidates is different from reranking them
A hybrid implementation needs a rule for merging result lists. Azure AI Search uses Reciprocal Rank Fusion, or RRF. It combines positions from separately ranked lists, giving weight to items that rank highly across them. Microsoft explains the method in its RRF ranking documentation.
Do not add a lexical score and a vector similarity score together without understanding their scales. Use the search platform’s supported fusion method or a deliberately evaluated combination. A larger score from one subsystem does not automatically mean a more useful result.
A reranker cannot rescue an unseen candidate
Some platforms apply a language-based ranking stage after initial retrieval. Azure’s semantic ranker reorders an existing candidate set; it does not rerun retrieval across the entire collection to find missing documents. Its semantic ranking overview also distinguishes extracted captions and answers from generated content.
Diagnose the stage that failed. If the right page never enters the candidate pool, investigate retrieval and indexing. If it appears but ranks too low, investigate ranking. If it ranks first but readers still choose the wrong page, inspect titles, snippets, and content clarity.
This separation makes supplier discussions more useful. Ask for the initial candidates and final ordering for a failed query, rather than accepting a generic “AI relevance” setting as the explanation.
04 / Prepare content before generating embeddings
A useful index needs clean text and enough context to identify the source. Remove repeated navigation and obsolete duplicates, and give each page a stable identifier, title, URL, product or topic metadata, and update status.
Large documents may need smaller passages, often called chunks. Preserve the parent page reference and meaningful headings so a retrieved passage can lead the reader to the complete instructions. Avoid splitting a condition from the action it qualifies merely to meet an arbitrary passage size.
Microsoft’s embedding guidance discusses chunking and using the same embedding model for indexing and querying. Treat model choice as part of the index design. Before changing it, establish how stored vectors will be rebuilt and how the replacement will be evaluated.
For a hypothetical returns policy, keep “within the return window” connected to the relevant product and region. A passage that only says “contact support for a replacement” may retrieve well while omitting an essential eligibility condition.
Assign an owner to outdated pages and conflicting instructions. A retrieval system can surface a document that is relevant to the wording yet wrong for today’s process. Content review and search evaluation need to work together.
05 / Keep relevance separate from eligibility
A result may be relevant but outside the selected product, region, language, or permission scope. Preserve these attributes as metadata and apply the required constraints deliberately. They should not depend on whether an embedding happens to capture them.
Filter placement can affect which candidates survive. Azure documents prefiltering and postfiltering for vector queries and explains their effects on retrieval in its vector filter guide. Test selective filters with your own collection rather than assuming the same candidate count will work for every audience.
For private content, implement authorization through trusted application and search controls. Microsoft’s security filter pattern explicitly says an identity string used in a filter does not itself authenticate or authorize the caller.
Include negative tests: a user outside the permitted group should not receive restricted titles, snippets, or passages. Check every retrieval path used by the application, including fallback behavior. Hiding a result only after its text has reached a browser or answer-generation stage is too late for that design.
06 / Evaluate with questions your readers actually ask
Build a manageable collection of representative queries and expected useful pages. Include successful searches, common failures, exact identifiers, paraphrases, and questions your content cannot answer. Remove personal information from examples before sharing them with vendors.
The following is a hypothetical evaluation plan, not a benchmark or a measured result:
| Query pattern | Example | What to inspect |
|---|---|---|
| Known identifier | Dock K42 setup | The correct model is easy to find; a similar model does not displace it. |
| Paraphrase | Who gets the invoices? | The billing-contact instructions appear near the top. |
| Filtered intent | Returns, with a chosen region | The results follow the selected region and current policy. |
| Unanswerable request | A feature the product does not offer | The interface avoids presenting a related page as a confirmed solution. |
- Freeze the comparison. Use the same content snapshot and audience filters for each method.
- Review the first results. Record whether a useful page appears, its position, and any misleading alternatives.
- Classify failures. Separate missing content, wrong permissions, weak retrieval, and poor ordering.
- Measure the experience. Record response times and errors in the environment you expect to use.
- Keep some queries aside. Check later changes on examples that were not used for tuning.
Define success by task. A support agent needing several relevant passages has a different requirement from a customer entering an exact product code. Review those groups separately so a gain in one does not hide a regression in another.
07 / Budget for maintenance and keep a fallback
Compare the complete operating plan: content ingestion, embedding generation, index storage, query processing, optional reranking, monitoring, and engineering time. Ask providers which actions incur charges and which capabilities your chosen plan includes. Obtain current quotes for your expected workload rather than assuming one universal price per search.
- Document the current keyword baseline and the cases it must preserve.
- Release the new search to a limited audience with a clear rollback path.
- Check that edits and deletions reach every relevant index representation.
- Assign someone to review failed searches and stale content.
- Re-run the evaluation after meaningful model, schema, or ranking changes.
- Keep an understandable empty-result experience and a route to support.
If you later add generated answers, evaluate that layer separately. Ryvenora’s RAG versus fine-tuning guide explains the broader chatbot decision. A useful source list is a valuable outcome even without a chat interface.
Frequently asked questions
Does semantic search require a chatbot?
No. You can present retrieved pages and passages as ordinary search results. Generating a conversational answer is a separate product choice.
Is hybrid search always better?
No universal result should replace an evaluation on your queries. Compare important query groups, operating effort, and response times before choosing it.
Should I put every field into an embedding?
Start with the fields that convey useful meaning. Keep identifiers and eligibility metadata explicit, and test whether adding more text improves the intended task.
Can a reranker fix missing results?
It can change the order of candidates it receives. When the needed page is absent from those candidates, investigate the earlier retrieval and indexing stages.
Collect a small set of real failed searches, identify the pages that should help, and classify the failures. Use those cases to decide whether to improve keyword search, add semantic retrieval, or pilot a hybrid approach.
Source notes: Official Elastic and Microsoft documentation checked on October 26, 2026. Product-specific behavior is identified in the text. Queries, product names, and evaluation scenarios are hypothetical examples; no performance results or hands-on benchmarks are claimed.
Add comment