Configure Faceted Navigation

Introduction

Faceted navigation leverages content metadata fields and values to provide users with relevant filters to create and refine search queries in an incremental way.

Implementing faceted navigation in a Hippo implementation project requires two steps:

  1. Configure a virtual faceted node tree in the content repository.
  2. Implement navigation of the faceted node tree in the delivery tier.

Demo and Example Implementation

Hippo's online GoGreen demo use faceted navigation in several places. For example, on the Blog and Products overview pages.

An example implementation is available in the Hippo Test Suite.

Features

  • Faceted navigation on a subset of the repository. This is done by specifying one or more root folders of which the descendants should be included in the faceted navigation. Accessing a faceted navigation through a preview or live entry point is accounted for (for example, on a live website, only published documents are included).

  • Multi-valued properties. In other words, you can have a property 'author', that has two values, 'Jane', 'Maria'. This document can be found in faceted navigation below author 'Jane' as well as below author 'Maria'. Multi-valued dates (with ranges) are supported as well.

  • Faceted navigation is 'free drill path' based: when you define that the navigation should be based on 'brand' and 'product', you can start browsing either by brand or by product.

  • You can configure a 'guided drill path': for example, the facet 'month' is only available after facet 'year' has been chosen.

  • Configurable limit of facet values per facet.

  • Configurable sorting (count, facetvalue, by config) per facet.

  • Configurable limit of the documents and sorting (including case insensitive or normalized option) of the documents in the resultset (default resultset ordering is Lucene scoring of best matching documents in case of free text search)

  • Resolution-based browsing for date properties. Thus you can navigate through years / month / day as if there were three facets (year/month and day), though there is only a single date property.

  • Ranges on Strings, Doubles, Longs and resolution (for example 'this year' , 'this month') based on Dates.

  • Configurable filters: for example faceted navigation only on documents of type news, or only documents that contain the word 'Hippo', or documents that only contain some word in the title. Or a combination of these filters.

  • Faceted navigation can be combined with free text search queries.

  • XPath queries as in jsr-170

All possible combinations of the features mentioned above are possible.

The result set from faceted navigation is the set of nodes that comply to the selected facet-value combinations.

Faceted Tree Configuration

  1. Configure a Basic Faceted Tree
  2. Configure Sorting and Limiting of Result Sets
  3. Configure Human-Readable Date Facets
  4. Configure Human-Readable Facet Value Ranges
  5. Configure Sorting and Limiting of Facet Values
  6. Configure Tagged Browsing
  7. Configure a Guided Drill Path
  8. Configure Faceted Tree Filters
  9. Apply Runtime Filters to a Faceted Tree
  10. Overview of all configuration properties

Delivery Tier Implementation

  1. Faceted Navigation Combined with Free Text Search and HST Queries