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.

Up-weighting or down-weighting results from a data source

It is possible to up-weight or down-weighting results based on the data source that they are sourced from.

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