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.
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.
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.
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.