I have an index of products treating medical problems. It has FullName, Description, Tags as the main fields. I have been having trouble understanding on what extent does the semantic search understands the query.
For example: I have a document in which the description is - "This Product treats and depression, addiction...."
I have applied the appropriate semantic configuration taking in description as content fields, Title as FullName and Keywords as Tags.
Now when I enter the query: "Product that can treat excessive drinking and depression" The results which includes Depression in the Tags and bio are found from Full Text Search and then re-ranked in an order which has "Addiction" in the bio. Which makes sense as semantic search is understanding that excessive drinking-> addiction.
But when I just type "excessive depression" in the query. There are no results since the exact word excessive depression is not present in any of the products.
So how do configure the search service so that it also understands the query like mentioned above and returns results for "excessive depression" as the ones which includes "Addiction" as well.
I found that LUIS/ CLU also might help but not really sure where it fits in our search service.
There was also some information regrading Knowledge graphs and their integration with search. Any information regarding this problem would be great to know
As you mentioned, the current version of Semantic search only runs on top of your existing result set. This means the documents that will get reranked and enriched by semantic capabilities still need to be retrievable through your original search request using traditional text matching algorithms.
https://learn.microsoft.com/en-us/azure/search/semantic-search-overview#semantic-capabilities-and-limitations
Given those current limitations, I can think of two ways to improve your recall (unfortunately none of the two options is trivial):
Enrich your documents at indexing time: You could use Azure Search's cognitive skills capabilities in conjunction with a custom model to extract additional context-aware keywords and index those into a new field of your document.
Enrich your query: Same as solution #1, but instead of enriching the document and indexing additional tokens with your documents, you enrich your query terms (at query time) and send the "expanded" request to Azure Search.
(Bonus) 3) You could do a mix of both
This blog post describes how you can leverage the new Azure OpenAI Service to manipulate data retrieved by Azure Search. For your scenario, you could leverage that service to "expand" your query (at query time) or document (at indexing time).