Deploy Dynamic Navigation Experience
Deploy Dynamic Navigation Experience
In JavaScript Search Framework interfaces containing DynamicFacet
and DynamicFacetManager
components, Coveo Machine Learning (Coveo ML) Dynamic Navigation Experience (DNE) models can automatically reorder facets and their values, and increase the ranking scores of query result items matching relevant field values.
|
If your interface doesn’t rely on the JavaScript Search Framework, make sure that your implementation uses the Note that |
Since the Coveo JavaScript Search Framework January 2020 release, it’s also possible to activate the DNE autoselection feature in your Coveo-powered search interfaces.
The DNE autoselection feature automatically selects facet values according to the end-user query. The feature learns from your end-users behaviors to understand which categories are the most relevant according to their current browsing task.
This article details the required steps to deploy DNE in a Coveo solution.

Step 1: Configure a DNE Model
Step 2: Configure Dynamic Facets in Your Search Interface
|
Be sure to review the dynamic facet limitations before including those components in your search interface. |
In the search interface whose queries are routed to the query pipeline associated with (or containing) the DNE model configured in step 1:
-
Replace all
Facet
components withDynamicFacet
components. -
Replace all
FacetRange
components withDynamicFacetRange
components.
|
Notes
|
Embed all dynamic facets within a DynamicFacetManager
component, or you won’t be able to leverage the DNE facet reordering feature.
|
Leading practice
To maximize the usefulness and quality of output of the DNE facet reordering feature, all relevant facets should be included and made visible in the search interface. |
In a Coveo-powered commerce search page, the facet markup configuration currently is:
<div class="coveo-facet-column">
<div class="CoveoFacet"
data-title="Category"
data-field="@prd_category"></div>
<div class="CoveoFacet"
data-title="Brand"
data-field="@prd_brand"></div>
<div class="CoveoFacet"
data-title="Screen size"
data-field="@prd_screen_size"></div>
<div class="CoveoFacet"
data-title="Wall mountable"
data-field="@prd_wall_mountable"></div>
<div class="CoveoFacet"
data-title="Processor speed"
data-field="@prd_processor_speed"></div>
<div class="CoveoFacet"
data-title="Resolution"
data-field="@prd_resolution"></div>
</div>
To leverage DNE in this search interface, the following changes would have to be made:
<div class="coveo-facet-column">
<div class="CoveoDynamicFacetManager">
<div class="CoveoDynamicFacet"
data-title="Category"
data-field="@prd_category"></div>
<div class="CoveoDynamicFacet"
data-title="Brand"
data-field="@prd_brand"></div>
<div class="CoveoDynamicFacet"
data-title="Screen size"
data-field="@prd_screen_size"></div>
<div class="CoveoDynamicFacet"
data-title="Wall mountable"
data-field="@prd_wall_mountable"></div>
<div class="CoveoDynamicFacet"
data-title="Processor speed"
data-field="@prd_processor_speed"></div>
<div class="CoveoDynamicFacet"
data-title="Resolution"
data-field="@prd_resolution"></div>
</div>
</div>