You can use the
--esampmin
option with the dgraph, to specify the
minimum number of records to sample during refinement computation.
For dynamic refinement ranking, the MDEX Engine first sorts the refinements by the dynamic counts assigned to them, and then cuts to the value you specify in Developer Studio ("Maximum dimension values to return" in the Dynamic Ranking tab of the Dimension editor). Those remaining values are sorted again, alpha- or dynamic-based on your configuration ("Sort dimension values" in the Dynamic Ranking tab), and then finally a "More" link is appended to the returned refinements.
The actual cut is not done using the actual refinement counts of the refinement, as that would be very expensive. Instead, the records in your navigation state are sampled to see if they have a given value or not. After a given number have been sampled, the list is sorted according to the sample counts, and then cut. This means that even with the dynamic rank sorting, you could have the scenario where refinements with more records assigned fall below the More link while others with less records assigned are included above the More link.
The sample size is configurable, but keep in mind that sampling the
entire navigation state can be one of the more performance intensive operations
the engine does, so you should be very careful in tweaking the size. This
accomplished with the dgraph
--esampmin
option, which enables you to specify the
minimum number of records to sample during refinement computation. The default
is 0.
For most applications, larger values for
--esampmin
reduce performance without improving
dynamic refinement ranking quality. For some applications with extremely large,
non-hierarchical dimensions (if they cannot be avoided), larger values can
meaningfully improve dynamic refinement ranking quality with minor performance
cost.