Search extension
The search extension defines an extension point that can be used to "enhance" a user's search query in order to retrieve more relevant search results.
The search extension enables an intervention before a user's search query is actually executed on the server. It enables the search query "enhancement" by adding extra search terms (potentially using information coming from an external data source) or a query complete rewrite. As this is all executed on the server, the end user is unaware of it, but it should provide him or her with more relevant search results.
Implementation
A search extension is implemented by creating a C# class that implements all methods of the SDK IQueryEnhanceHandler.
- The
Initializemethod receives the configured initialization parameters in order to initialize the extension. - The
EnhanceQuerymethod receives the search query the user submitted. As a result, the method can return the same query or an "enhanced" query.
From the search extension all calls are done live, without caching.
Configuration
The search extensions are configured in the search section in the Extension Settings XML. Multiple search extension implementations are allowed. All of them will be called in the same order as they are configured.