This discussion is archived
8 Replies Latest reply: Sep 26, 2012 10:40 AM by PravinChikhale RSS

Need help with getting Endeca to return a single child dimension

138910 Newbie
Currently Being Moderated
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
Sub-Category1
Sub-Category2
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?

Thanks
  • 1. Re: Need help with getting Endeca to return a single child dimension
    PravinChikhale Explorer
    Currently Being Moderated
    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.

    HTH.

    Thanks,
    Pravin.

    Edited by: Pravin Chikhale on Sep 19, 2012 11:44 PM
  • 2. Re: Need help with getting Endeca to return a single child dimension
    DevReddy Newbie
    Currently Being Moderated
    Hi Pravin,

    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?
  • 3. Re: Need help with getting Endeca to return a single child dimension
    PravinChikhale Explorer
    Currently Being Moderated
    Hi Dev,

    There is no documentation link available for this. To enable this you have to provide this flag in AppConfig.xml for Dgraph.
    for example

    <pre>
    <dgraph-defaults>
         <properties>...</properties>
         <directories>...</directories>
         <args>
              <arg>--threads</arg>
              <arg>2</arg>
              *<arg>--unctrct</arg>*
         </args>
         <startup-timeout>120</startup-timeout>
    </dgraph-defaults>
    </pre>

    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.
    http://docs.oracle.com/cd/E28910_01/PresentationAPI.622/apidoc/javadoc/navigation/com/endeca/navigation/Navigation.html#getDescriptorDimGroups()

    HTH.

    Thanks,
    Pravin.
  • 4. Re: Need help with getting Endeca to return a single child dimension
    138910 Newbie
    Currently Being Moderated
    Hi Pravin,
    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.

    Thanks,
    Kevin
  • 5. Re: Need help with getting Endeca to return a single child dimension
    PravinChikhale Explorer
    Currently Being Moderated
    Hi Kevin,

    Glad to hear it.

    One more thing, when you do any configuration changes for Dgraph, you can just restart Dgraph process and it will start reflecting changes. Baseline will not be required.

    Thanks,
    Pravin.
  • 6. Re: Need help with getting Endeca to return a single child dimension
    138910 Newbie
    Currently Being Moderated
    Hi Pravin,
    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?

    Thanks,
    Kevin
  • 7. Re: Need help with getting Endeca to return a single child dimension
    138910 Newbie
    Currently Being Moderated
    Posted another comment to the thread to reopen.
  • 8. Re: Need help with getting Endeca to return a single child dimension
    PravinChikhale Explorer
    Currently Being Moderated
    Please confirm your application pointing to Dgraph where you made configuration changes. If it is working in jspref, it will work with other application too.

    - Pravin

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points