This article covers a Bloomreach Experience Manager version 13. There's an updated version available that covers our most recent release.

Configure Faceted Tree Filters



Configure filters in a faceted tree.


When configuring a faceted tree, it is possible to add filters.


You can configure filters on any hippofacnav:facetnavigation node using the multi-valued String property hippofacnav:filters. All filters are being AND-ed. We support currently the following formats as a filter:

  • jcr:primaryType = nodeType
  • propertyname = propertyvalue
  • propertyname != propertyvalue
  • contains(. , text)
  • contains(propertyname, text)
  • not(expression)
  • text


Node Type

Only include documents of type myproject:newsdocument in the faceted tree's result sets:

  hippofacnav:filters: [ 'jcr:primaryType = myproject:newsdocument' ]

Property Value

Only include documents with property myproject:brand having the value 'hippo':

  hippofacnav:filters: [ 'myproject:brand = hippo' ]

Exclude documents with property myproject:brand having the value 'hippo':

  hippofacnav:filters: [ 'myproject:brand != hippo' ]

Document-Scoped Free Text Query

Free text search in any property of any descendant node. If there is no result set sorting configured, the result set is ordered according Lucene scoring. The query syntax mostly follows the Lucene QueryParser syntax with some exceptions (see below). A space is interpreted as AND.

Not supported from the Lucene QueryParser syntax are:

  • fuzzy searches
  • proximity searches
  • range queries
  • wildcard at the start of a keyword


Only include documents containing the word 'jump':

  hippofacnav:filters: [ 'contains(.,jumps)' ]

Only include documents containing 'quick' AND 'jump':

 hippofacnav:filters: [ 'contains(.,quick jump)' ]

Only include documents containing 'quick' OR 'jump':

 hippofacnav:filters: [ 'contains(.,quick OR jump)' ]

Only include documents which contain the words 'brown fox jumps' in this exact order:

 hippofacnav:filters: [ 'contains(.,"brown fox jumps")' ]

Only include documents with words that match bro?n, where ? is any single character:

 hippofacnav:filters: [ 'contains(.,bro?n)' ]

Only include documents with words that match laz*, where * is any character array:

 hippofacnav:filters: [ 'contains(., laz*)' ]

Only include documents containing 'quick' OR 'jump' and in the scoring, consider the word 'quick' 10 times more important:

 hippofacnav:filters: [ 'contains(.,quick^10 OR jump)' ]

If only text is filled in, the filter is treated as if it is: contains(.,text)

For example:

  hippofacnav:filters: [ 'quick brown fox' ]

is equal to

  hippofacnav:filters: [ 'contains(.,quick brown fox)' ]

Property-Scoped Free Text Search

Similar to document-scoped free text search, but restricted to a specific document property.

For example, to only include documents containing 'hippo' OR 'onehippo' in their myproject:title property:

 hippofacnav:filters: [ 'contains(myproject:title, hippo OR onehippo)' ]


Any of the expressions above can be negated by wrapping not() around it, for example:

 hippofacnav:filters: [ 'not(myproject:brand = hippo)' ]


Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?

    We rely on cookies

    to optimize our communication and to enhance your customer experience. By clicking on the Accept and Close button, you agree to the collection of cookies. You can also adjust your preferences by clicking on Manage Preferences. For more information please see our Privacy policy.

    Manage cookies
    Accept & close

    Cookies preferences

    Accept & close