Now that you have a search interface set up with the basic components, you’re ready to display results. Although it sounds straight forward, there are key concepts you don’t want to overlook before going forward.
A query goes through a Query Pipeline which can modify the query before reaching the Index. Many operations can be applied to a query as it makes its way through a Query Pipeline, such as replacing a keyword with a synonym. Hence, depending on the Query Pipeline a query is routed to, the search results can differ (see Route Search Queries to Query Pipelines).
Result filtering is one common way you can improve the relevance of search results. Coveo provides several mechanisms, whether directly within Sitecore or through Coveo, to apply filtering rules on your Sitecore items (see Apply Filtering Rules).
Conversely, you might need to broaden the reach of your search interfaces. By default, search interfaces assembled in the Sitecore Experience Editor using Coveo for Sitecore Hive renderings only display results from the current Sitecore context database. You might need to make content from non-Sitecore sources (including Sitecore commerce sources) accessible through your search interfaces by specifying external sources you wish to add to the search scope. As of the October 30, 2020 release, Coveo for Sitecore lets you disable the default filtering altogether.
If you need to modify or remove fields from search results at query time, it’s possible using the
coveoProcessParsedRestResponse pipeline (see Removing Fields From Search Results).
To handle, process or customize REST requests, make sure to understand the pipelines behavior and purpose (see About the REST Endpoint Pipelines).
When performing a search query against the search index, you might need to add User Identities to your request to allow accessing restricted results (see Add User Identities to a Search Request).
Search result URIs can be easily resolved using the Sitecore LinkManager (see Use the Sitecore LinkManager to Resolve URIs).