Results pages
A results page is used to access your search indexes. You must create at least one results page for every search package you use. The results page:
-
Provides end-user access to the set of search results, with related configuration such as faceted navigation.
-
Provides search services for other purposes, such as using your search indexes in a similar manner to a database lookup to populate a content page on your website.
You can have multiple results pages and each contains configuration and templating. This configuration includes
-
Freemarker templating for the search results (supporting one or more Freemarker templates), or you can use the JSON endpoint for the results page with your own templating or code.
-
Display settings that define properties about what is displayed in the search results (e.g. what metadata fields to return, how many results to return per page).
-
Ranking and sorting settings that define how the order of search results will be determined.
You can create multiple results pages that include the same set of search results but with different ranking settings/facets/curator rules etc., to provide search results that are personalized for different audience groupes (e.g. current vs. prospective students). -
Scoping settings that define what sections of the index are included in searches.
-
Feature configuration such as faceted navigation, auto-completion and extra searches that will be used to supplement the search results.
Each results page also includes dedicated reporting: usage analytics, content and accessibility auditing.
A results page is similar to a service-enabled profile from older versions of Funnelback. |
Results page analytics and reporting
Analytics and content reporting can also be accessed from the search results configuration screen, providing access to:
Create data source specific templating
If your search package comprises a number of different data source types, for example a web plus a database data source, then the search results will be a heterogeneous mix of records. The results page templates should use an <#if />
FreeMarker clause to identify the data source and format the record appropriately.
For example, if you had a database collection called library you could format results differently with the following:
<#if r.collection == "library">
<a href="${r.cacheUrl}">${r.title}</a>
<b>Library Record</b> - ${r.date?date?string.short}
<#if r.listMetadata["y"]?first??>
<span class="summary_label">ISBN:</span><${r.listMetadata["y"]?first!}<br />
</#if>
</#if>
<#if r.collection != "library">
<a href="${r.cacheUrl}">${r.title}</a>
<b>Other Record</b> - ${r.date?date?string.short}
<#if r.listMetadata["a"]?first??>
<span class="summary_label">Author:</span><${r.listMetadata["a"]?first!}<br />
</#if>
</#if>
Note that r.cacheUrl
is used for the links to the library records as they are the rows extracted from the database (as XML files).
Search package scoping and ranking options
Scoping search results to a subset of data sources
Search results can be restricted to a subset of data sources at query time by supplying the clive
CGI parameter or results page option.
Example: restrict results to the intranet and staffdir data sources of the internal-search search package:
Using CGI clive
parameter(s):
http://FUNNELBACK_SERVER/s/search.html?collection=internal-search&query=hr&clive=intranet,staffdir
or
http://FUNNELBACK_SERVER/s/search.html?collection=internal-search&query=hr&clive=intranet&clive=staffdir
Using a query processor option, set in the results page options, specifying -clive
parameters for each data source:
-clive=intranet -clive=staff
Filter the search results by data source
Filtering of results by data source can be achieved by configuring faceted navigation with category values based on data source.
Same collection suppression
Same collection suppression is a result diversification option that allows the down-weighting of consecutive results from the same data source.
Document level security
If any of the selected data sources have early binding document level security, the following option must be added to the results page configuration for the search package to maintain security processing.
security.earlybinding.user-to-key-mapper=Meta