Retrieving refinements with the API: high-level overview

Displaying attribute refinement values is the core concept behind Guided Navigation. This topic provides a high-level overview of the procedure for retrieving and then applying refinements.

If your refinements are derived from attributes that are configured in groups, then before retrieving them you need to expose groups in the user interface. If the group is collapsed, Endeca Server does not compute refinements for the attributes within the group. If the group is exposed, Endeca Server computes refinements, but it may or may not expose them, depending on your request. If you issue a request that asks to expose already computed refinements, they are computed.

To display refinements in the front-end application so that they can be navigated upon, create two related Conversation Web Service requests:
  1. In the first request, you accomplish two goals:
    1. Identify which attributes have valid refinements. See Step 1: Obtaining and exposing attributes that have refinements.
    2. Retrieve (or expose) the list of suggested refinements from the Endeca Server, using Expose="true" in RefinementGroupConfig (for groups of attributes), or RefinementConfig (for individual attributes). See Step 2: Applying refinements by creating a new query.
  2. In a subsequent request, select and apply one of the retrieved selected refinements, in response to a user gesture in your user interface. Use the SelectedRefinementFilter type to select the refinement.