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:


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:


It is not:


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.

Copyright © Legal Notices