Profile-based faceted navigation

This article applies to Funnelback 15.6 and earlier. From Funnelback 15.8 all faceted navigation is treated as profile (or configuration) based.

Background

Traditionally, faceted navigation has been configured at the collection level in Funnelback. This article shows the steps required to configure faceted navigation on a profile level allowing for multiple faceted navigation configurations to be applied to a collection.

Configuration steps

The following steps detail the setup for profile based faceted navigation:

  1. Add collection.cfg option to swtich to using conf level faceted navigation.

    faceted_navigation.config.location=conf

    This causes the UI to read faceted nav params from the faceted_navigation.cfg file instead of from the live/idx folder.

    Note:

    • switching on this disables the use of faceted_navigation.xml

    • a collection level faceted navigation.cfg will override any profile defined faceted_navigation.cfg files (this is a reported bug). Upon initial setup it is a good idea to move the collection level faceted navigation file into the default profile.

  2. Move your faceted navigation config files into the relevant profile folders.

Enable gscope/date/URL fill facet editing per profile via the admin UI

Additional configuration of the administration interface is required if you wish to edit non-metadata based facets via the administration interface.

If you need to have gscope, URL fill or date based facets, but also want to edit via the admin UI you’ll need to edit the file: $SEARCH_HOME/web/admin/js/facetednavigationeditor/categorytypes-perprofile.js

You can’t add Metadata Fill, XML Item Fill or Query Fill facets - these won’t work because they rely on dynamic assignment of metadata classes or gscopes at index time.

Add a code block for the gscope items: (can see the code required from the categorytypes.js file which is used by the standard editor.

[
	{
		"label": "Metadata Field Fill (e.g. f)",
		"code": "MetadataFieldFill"
	},
	{
		"label": "GScope Item (e.g. Books)",
		"code": "GScopeItem"
	},
	{
		"label": "Date Field Fill (e.g. d)",
		"code": "DateFieldFill"
	},
	{
		"label": "URL  Fill (e.g. http://my.company.com)",
		"code": "URLFill"
	}
]