Retrieving Results

Now that you have a search interface set up with the basic components, you are ready to display results. Although it sounds straight forward, there are key concepts you don’t want to overlook before going forward.

There are multiple ways, client-side or server-side, to alter search results before displaying them (see Altering Search Results Before They Are Displayed).

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 Routing Search Queries to Query Pipelines).

Result filtering and boosting are two common ways you can improve the relevance of search results. Coveo provides several mechanisms, whether directly within Sitecore or through the Coveo Cloud administration console, to apply filtering and boosting rules on your Sitecore items (see Applying Filtering and Ranking Rules).

If you need to modify or remove fields from search results at query time, it is 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 Understanding 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 Adding User Identities to a Search Request Using the getSearchUserIdentities Pipeline).

Search result URIs can be easily resolved using the Sitecore LinkManager (see Using the Sitecore LinkManager to Resolve URIs in a Coveo Search Page).