Faceted Search

Product: CMS

Version: CMS 10, 10.x, CMS 8, 8.x, CMS 9, 9.x

Published: August 30, 2013

Last updated: 1/30/2021



Because searching by keywords can sometimes return an overwhelming number of results, limiting the initial list to a more relevant result set would often be more helpful in locating prime interest pages.

The idea behind faceted searches is that, after executing a search, users can choose a category value on the returned results to narrow the scope of the initial list. Typically, users have the option to unhook selected filters and return to previous views.

Implementation of a Faceted Search solution in the Ingeniux CMS is outlined below, using the example of a Google Custom Search XML result set.


  1. Categorize pages in the site with values that will drive the Faceted Search taxonomy listing in a Search Results Page and publish.
  2. Create a Search Results Page schema that features an insert element (element name: Search) and a taxonomy navigation element (element name: Faceted Search): sample schema.
  3. Create a Search Results Page in the CMS, enter the Google Custom Search URL into the Insert element (example: http://www.google.com/cse?cx=ENTER REQUIRED ID HERE&client=google-csbe&output=xml_no_dtd&q=q&start=start&getfields=schema.pageID.cat). The getfields values in the query string are dot-delimited and essential to generate the needed tags in the XML feed.

    Set up the taxonomy navigation (Faceted Search) in this or a similar fashion:
    * Pick a Category = select any applicable parent categories with or without sub-categories;     sample,
    * Include Pages = [un-checked], Depth = 2, all other settings = un-defined.
  4. Include additional meta tags in the head section of the implementation code files:  meta tags, 
    Finally, publish the Search Results Page. It will take two or more days until all pages are indexed and the xml feed will contain the needed tags: example.

  5. Implementation Code
    - Keep a list of variables within the Search Results Page template:  variables,

    - Display paginated results per keyword entry and Facetted Search category selection:  example,

    - Invoke the Faceted Search categories list:  example,

    - Integrate pagination:   example.
  6. Testing the implementation
    Publish once again the Search Results Page, search by a keyword, verify correct results display, verify correct taxonomy and sub-category listing, and navigate to the xml document of the page (add ?tfrm=4 to the URL). Verify that there are result nodes that contain tags with name="pageID", name="cat", and name="schema",
    On the Search Results Page, click on a category and verify that the new list contains only items that match keyword and selected category.


There are no comments yet.