As part of every search response, the engine will return a set of Dynamic Navigation, which shows your users what refinements are available for the given set of records shown.
This is most commonly used to drive the navigation menu for Search, but can be used for other purposes as well - for example, if you want to create a carousel or another set of refinement options.
iNav is the functionality of the Recommendations API that lets you re-order the navigations, or their refinements, by popularity. You can specify filters like duration (popular in the last week or month), region (to make the order geospecific), and other custom filters.
In this visualization we see two kinds of Navigation orders side by side. On the left, is the order that was decided by the Merchandiser. On the right, is the proposed order from the Recommendations API.
Our front end can decide which information to use from the Recommendation API. For example, on the front end we can choose to always show Price second, even if it was the most popular refinement used.
We will use the
refinements/_getPopular call of the Recommendation API to fetch popular refinements.
The response will contain both the refinements (e.g.
brand) and the values (e.g.
For each integration you’ll need to decide 3 things:
- Will we use the navigation order information? (E.g. "
Pricegoes ahead of
- Will we use the refinement values order information? (E.g. "
greygoes ahead of
- Will we want to give merchandiser some control via Command Center? (e.g. “never show
The first two decisions will drive which sections of the Recommendation API response you will be using.
The last decision is important as it lets you integrate Merchandiser requirements via the Navigation metadata. The original Search API response that returned the Dynamic Navigations available also returns metadata, which can be leveraged to “pin” certain values, navigations, and integrate other business logic.
You will have 2 responses:
- Search API response that contains the available navigation for given results. This needs to be integrated so that you show navigations that are actively available for the current results. This will also contain
metadataif you are planning to integrate business logic into your navigation.
- The Recommendations API response that will give you the suggested ranking of the values, by their JSON address.
You will need to:
- For each value in the available navigation…
- Check against the business logic
- Check against the Recommendations response …
- And render it into the appropriate section of your navigation
This logic applies equally to Navigations and their Refinements, as both Search and Recommendation return both values within one nested array.
This is a list of best-practices business requirements to discuss with your business and technical teams for implementing dynamic navigation:
|Never show some navigations||Exclude at query time with
|Sometimes not show some navigations?||Ask the business to tag the navs to hide with a
|Pin some navs to the top?||Ask the business to tag the navs to pin with a
|Pin some values to the top?||Ask the business to tag the values to pin with a
|Other requirement that requires merchandiser decision||Design around the same pattern of