My dev team is working on some new enhancements for the Business, and one of the new items they have asked for is to set up a category hierarchy as: Supplies <-- Top level
Category1 <-- Categories/dimensions w/products
Category2 <-- Categories/dimensions w/products
Shop For <-- Categories/dimensions without products, essentially a label or place holder.
Sale & Clearance <-- Categories/dimensions w/products
However, when we do a refinement search, Endeca will only return the "Shop For" category/dimension. Is there a way to have Endeca return both the "Shop For" and the "Sale & Clearance" categories back to our UI side? I do know that functionally that this is expected Endeca behavior. If there is more than 1 child category/dimension, there is no issue. However, the "Shop For" becomes a navigable dimension. Ultimately, is there a way in Endeca to not make this a navigable dimension, and use it more as a place holder or label?
If i got this correctly, you want that Endeca should return the refinement result even if there is only one dimension value for search or navigation, then you can use --unctrct* dgraph flag
--unctrct* Forces the engine to place fully implicit dimensions and implicit refinements in the standard sections of a Navigation result. This causes fully implicit dimensions to no longer be separated from other dimensions. This means that refinements which will not alter the result record set will be presented to the user.
Endeca does not show refinement value if it is single value returned for refinement, it select this value implicitly. You can make use it as link (but selection wont refine the result) or can use it as label.
When you provide this flag it will, it forces dgraph to return the refinement value even there is only single value returned.
Edited by: Pravin Chikhale on Sep 19, 2012 11:44 PM
I am looking for some more information on the below statement.
"--unctrct Forces the engine to place fully implicit dimensions and implicit refinements in the standard sections of a Navigation result. This causes fully implicit dimensions to no longer be separated from other dimensions. This means that refinements which will not alter the result record set will be presented to the user"
do you mean Dimension.getReginement() will give the implicit dim values also?
I am exactly looking for this, could you provide any links to it?
After enabling this flag it will return implicit dimension values for every dimension available. You cannot restrict it to a particular dimension.
The API used will be same as you are using now, endeca will just returns the single dimension value.
Tried your suggestion of modifying the AppConfig.xml to add the --unctrct parameter, executed a baseline, and the change worked the way the Business would like it to work. We will present the caveat that this is for all dimensions/categories, not selective. Big thanks for the suggestion and your assistance with this question.
It seems when viewing the JSP RefApp, all works well. However, we have our front-end application making a HTTP request to Endeca and when the result set returns from Endeca, our app uses the Navigation.getRefinementDimensions() method, which doesn't seem to work. We've also tried using the Navigation.getCompleteDimensions() method which also doesn't seem to work. Any thoughts or ideas?