This ENEQueryToolkit method is necessary for querying hierarchical dimensions.
When generating a new Navigation parameter for a refinement, it is important to use this method:
One reason for using this method is that it actually implements important business logic.
For example, the query
Red Wine
:
N=40
returns a refinement dimension value Merlot (ID=41).
Due to the hierarchical nature of the Wine Type dimension, the Merlot
refinement is actually in the same dimension as the dimension value in the
current query. The new query that is generated by the
selectRefinement()
method
(SelectRefinement()
in .NET), therefore, is:
N=40
It is not:
N=40+41
This is an important distinction: When querying hierarchical dimensions,
only a single dimension value can be used for each dimension within the
Navigation (N
) parameter. (Multi-select AND or OR dimensions
can have more than one dimension value in the Navigation parameter, but cannot
be hierarchical.) Therefore, it is important and safer to always use the
selectRefinement()
method
(SelectRefinement()
in .NET) when creating new queries for
refinement dimension values.