About refinements

Refinements allow end users to explore their data records using Guided Navigation.

To utilize Guided Navigation, users first select a refinement and expand and collapse the available values. For a refinement that has a hierarchy, users can expand the refinement more than once.

To use refinements to narrow their results, end users select a specific refinement value. For example, to narrow results from all refrigerators to only white ones, users might choose the value "white" for the color refinement.

As they explore, users need to know what values are currently available for refinement. At any given step in the exploration process, Endeca Server returns the list of available values for each refinement, and displays to the users only those refinements (attribute values) for which records exist in the resulting record set.

In other words, after a user creates a query using record and value search, only valid remaining refinement values are provided to the user to further refine that query. This allows the user to reduce the number of matching records without creating an invalid query.

To conclude, refinements are values presented to the users during Guided Navigation. They contain attribute values for the records loaded into the data domain.

How refinements relate to attributes

Once the source records are loaded into the data domain, Endeca Server uses attributes on the Endeca records for refinements. In other words, the attribute values for refinements are derived from attributes defined on records. Attributes, in turn, are typically generated from attributes on the source records. Attributes consist of key-value pairs.

In addition, managed attributes can have a multi-level hierarchy, can be enumerated, and can have specs. They can also be searched and displayed using their display names. These characteristics of managed attributes affect the ways in which you control refinements.

Types of refinements in the user interface

In the user interface, refinements fall into two categories, depending on how they are displayed in the user interface:
  • Suggested refinements are those that can be used for further navigation. When you select a specific refinement, you change (or refine), the resulting set of records. Suggested refinements are always returned by the Endeca Server, if they are available in the current navigation state.
  • Applied refinements show your current location in the guided navigation process. These refinements are already selected. Applied refinements can be of two sub-types:
    • Explicitly-selected refinements are those that the end users have chosen during their navigation process, for example, by clicking them in the navigation menu.
    • Implicit refinements are those that were implicitly applied by the end user's explicit selections of other refinements. For example, in a data set containing both city and state attributes, selecting "Cambridge" implicitly selects "Massachusetts" (if all records tagged with "Cambridge" are also tagged with "Massachusetts"). In other words, a refinement is considered implicit if selecting it does not narrow the resulting record set.

    By default, Endeca Server does not return applied refinements, and only retrieves those refinements that are still available for navigation (suggested). However, in some instances, it is useful to request the full list of refinements, both suggested and applied (which includes implicits).

It is common to build separate user interfaces to display suggested refinements and applied refinements separately.

Collapsing and expanding refinements

When Endeca Server computes refinements, it takes into account whether you want to expand or collapse the suggested refinements in the user interface.

The computation of available refinement values can be expensive, especially if there are many attributes defined on records in your data domain. In cases when the number of attributes is large, it is often not useful for a user interface to display values for every available attribute at once, because there would be too many options for users to consider.

To address this, Endeca Server supports the notion of "expanding" and "collapsing" suggested refinements displayed in the user interface:
  • If a returned attribute is configured as collapsed, Endeca Server computes whether it is a valid refinement, but does not compute all available values.
  • If a returned attribute is configured as expanded, in addition to determining whether it is a valid refinement, Endeca Server also computes and returns all available values.