Faceted Navigation


The faceted navigation feature helps users find more relevant information by providing them with the capability to refine their queries based on any existing structure that may be present in your information base. This allows users to explore large volumes of content in ways that are difficult to do with standard search interfaces.

Faceted navigation is most useful when the information users are searching over can be categorised in multiple different ways. For example, a set of job descriptions may be divided into 'facets' such as job location, job industry, employer, date posted etc. Finding exactly the right job in this example then becomes much easier if users can select jobs according to their 'facets' as well as searching for them with regular search terms.

The faceted navigation feature is similar in its goal to the Contextual Navigation system, but achieves it in a different manner.

Independent facets vs Hierarchical facets

It is important to understand the difference between independent facets and hierarchical facets to fully understand how users will browse through the search results from your information base.

Independent facets are completely different ways of categorising the same set of documents. Search results should be able to be narrowed down using any or all of the available independent facets. In the jobs example above, each of the categories mentioned are independent of each other. That is to say, users should be able to narrow their search for jobs by date posted, or employer, or industry, or any combination of those.

Hierarchical facets are facets that have several different levels of selection. Users should only be able to select lower level categories once they have selected the appropriate higher level category. For example, in the jobs example above, the job location might be a hierarchical facet where users first select the job location according to state, then they are presented with further options to select job location by city, then by district, etc.

Facets and Categories

The difference between a facet and a category is essential to understanding how to set up faceted navigation correctly. A facet represents a way in which your documents can be categorised (e.g. job location), whereas categories represent actual classifications within a facet. For example, 'NSW', 'VIC, and 'QLD' might all be 'categories' within the facet called 'job location'.

There are many different ways that information resources can be categorised. When setting up faceted navigation for your collection, you must be aware of what information is available within your collection that would make useful categories. Each facet can be filled with categories automatically from several different places. The following is a list of places that Funnelback can extract categorisation information from:

Metadata fields

Any document that has previously been assigned to a Funnelback metadata field can be categorised according to that field (See xml.cfg and metamap.cfg

Document dates

The date of the document according to the d metadata class mapping defined in xml.cfg or metamap.cfg


Documents can be categoried according to whether or not they match a particular gscope. Gscopes must be pre-defined using General Scopes.


Particularly of use in filecopy collections, the URL of resources can provide indications as to the likely content and/or usefulness of those resources. Therefore, allowing users to browse through available search results by URL (directory on filecopy collections) can be quite beneficial.

Setting up faceted navigation

To begin setting up faceted navigation for your collection, browse to the Funnelback administration interface, select the collection you wish to set up faceted navigation for from the 'Manage Collections' area, and then select 'Design Results Page' from the 'Customise' tab and follow the 'Faceted Navigation configuration page' link. This will take you to the facets editing screen, where you will define your desired facets.

Independent facets can be added by clicking the 'Add New' button. For each facet you create you should type in a name for the facet (this is the name that will be displayed on the public search interface).

You will need to define the Source which describes the type of the data which can be used in the facets.

  • Metadata field - Allows you to use previously mapped metadata fields as the source for information. For example if metadata coverType was defined and contained different cover types for books it would be possible to filter results to books which have a particular cover e.g. show only books with a hardcover.
  • Date field fill - Allows you to use the date metadata (can only be d) as the soruce of information. If date metadata is available and mapped to d then results can be filtered by date.
  • GScope - Allows you to use defined gscope numbers for filtering search results. Unlike Metadata field facets you are required to give a name to each gscope number you wish to use. For example if gscope 1 is assigned to documents which are hardcover books while gscope 2 is assigned to paperbacks, we might name the Facet Book cover and name gscope 1 as hardcover and name gscope 2 as paperback. Search results could then be filtered by clicking on paperback or hardcover.
  • For URL categories - you will need to fill in the URL prefix from which you want users to begin their navigation. For example, to browse across the subdirectories of the site http://my.example.com, fill in http://my.example.com. This category may be particularly useful for Windows fileshare as the directory structure of the fileshare can be used to filter results. The URL prefix could be set to smb://files/departments which would allow users to filter results to files which come from a particular folder under that prefix in this case we could filter to a department e.g. sales, accounting, marketing, etc.

Note for database collections, you will likely want to use an Metadata field item category, since Funnelback extracts database records into an XML format.

The UI allows the creation of hierarchical structures. Subcategories work in exactly the same way as normal categories.

After defining your desired categories, click the 'Save' button. The next step will be to customise the display of the facets, if desired (see 'Facets display customisation' below).

Facets display customisation

The display of faceted navigation in the main search interface is controlled using a combination of search form tags that are placed with the search template and some configuration options set in the main collection configuration.

Faceted navigation tags are already present in the provided search template and do not need to be added for the default faceted navigation display. These faceted navigation tags will only display if faceted navigation is enabled.

The Faceted navigation is defined by the code block contained with the <@s.FacetedSearch> template tags.

The Modern UI also provides collection.cfg parameters for white and black listing of faceted navigation categories: faceted_navigation.white_list and faceted_navigation.black_list

Template tags

The following tags are available to be used within Modern UI templates:

  • Category
  • CategoryName
  • CategoryCount
  • Facet
  • FacetBreadCrumb
  • FacetedSearch
  • FacetLabel
  • FacetScope
  • FacetSummary
  • MoreOrLessCategories
  • ShortFacetLabel
  • MultiCategories
  • MultiCategory
  • MultiFacet
  • MultiValues

Detailed information on these tags is available in the custom FreeMarker tags documentation.


The default forms will layout facets in a format similar to the facets examples on the left of the following screenshot.


XML Interface

Faceted navigation information is available through search.xml and search.json. The feeds returned by those two URLs will be a serialisation of the Modern UI Data Model.

Faceted Navigation configuration API

Facted navigation configuration can be edited using an API. Go to API UI under System -> View API UI in the admin home page. The APIs documentation can be viewed under faceted-navigtion.

Technical Caveats

URL-based facet limitations

URL based categories should not be used for large collections with a flat structure. For example if every URL PATH was 1/index.html, 2/index.html, n/index.html then the facet would shown numbers 1,2,...,n which are not helpful for user to drill down on. Additionally, when gathering from web collections, the hostname cannot be used as a category within a URL based facet - only directories (path-elements) can be used in this way.

Category count accuracy

When the document at a time (DAAT) query processing mode (See Funnelback Ranking Algorithms) is enabled on large collections, facet counts are produced as estimates of the total matching result set. Such facet count estimates may frequently differ from the size of the result set produced after clicking through to the facet category. This discrepancy can be reduced by increasing the number of documents scanned with a larger DAAT value, however doing so will increase query response time (See query processor options for more details).

See Also