3 Replies Latest reply: Mar 13, 2013 5:09 PM by 867570 RSS

    Maxfield relevance algorithm ranking dimensions higher than properties

    MuthuVairam
      We are using MaxField as one of the relevance algorithm in our search interfaces and observed that dimensions with low rank is matched first than compared to property of higher rank.
      Records that match with dimensions are ranked in the results though their "relevance_rank" is lower than property. But the endeca documentation explains that records will be ranked based on "relevance rank" and doesnt treat dimension and property with differnce.
      Here's the example

      +<SEARCH_INTERFACE CROSS_FIELD_BOUNDARY="ALWAYS" CROSS_FIELD_RELEVANCE_RANK="0" DEFAULT_RELRANK_STRATEGY="All" NAME="All">+
      +     <MEMBER_NAME RELEVANCE_RANK="77">D_Type</MEMBER_NAME>+
      +     ....+
      +     ...+
      +     <MEMBER_NAME RELEVANCE_RANK="50">P_Type</MEMBER_NAME>+
      +     .....+
      +     .....+
      +     <MEMBER_NAME RELEVANCE_RANK="64">D_Category</MEMBER_NAME>+
      +     ......+
      +     ......+
      +     <MEMBER_NAME RELEVANCE_RANK="1">P_Name</MEMBER_NAME>+
      +</SEARCH_INTERFACE >+
      The records that match for D_category are given higher rank, though it matches for the property "P_Name".

      Need some validattion here, if our understanding is correct.

      -M
        • 1. Re: Maxfield relevance algorithm ranking dimensions higher than properties
          Michael Peel-Oracle
          Hi

          The higher the value in the RELEVANCE_RANK attribute, the higher the relevance rank (for maxfield). D_Category = 64, P_Name = 1, so all other things being equal matches against D_Category would rank higher than P_Name. Try opening the configuration in Developer Studio and looking at the search interface members - it should make it clearer that way.

          Thanks

          Michael
          • 2. Re: Maxfield relevance algorithm ranking dimensions higher than properties
            MuthuVairam
            Thanks for the reply Michael.

            But, we tried changing the rank of a property (P_Name) to something higher or greater than dimension(D_Category ) and still see that the records that match for Dimensions are ranked higher than the ones where P_Name is matched.

            Changed P_Name = 65, while D_Category = 64.

            Still records matching D_Category where retrieved first compared to P_Name. Currenlty have modified this search interface to include only "MaxFiled".

            Please clarify.

            -M
            • 3. Re: Maxfield relevance algorithm ranking dimensions higher than properties
              867570
              Muthu,
              Still records matching D_Category where retrieved first compared to P_Name. Currenlty have modified this search interface to include only "MaxFiled".
              Are you setting the Relevancy Rank module via a URL query

              EXAMPLE
              controller.jsp??N=0&Ntk=P_Desc&Ntt=sonoma&Nrk=All&Nrt=pear&Nrr=field&Nrm=matchall

              Or via a relrank_strategies.xml. If the later have a look at your ./{APP_DIR}/data/forge_output/ directory and verify if the {app_prefix}.recsearch_config.xml contains the order you expected. If ./{APP_DIR}/data/forge_output/ does -not- include your changes, you may be using the Forge Configuration Manager (FCM), the hyEnd integration with hybris, or another customization that updates ./{APP_DIR}/data/processing and is overriding your changes.

              In the example of the hyEnd integration, if the changes -can- be found in ./{APP_DIR}/data/complete_index_config you can copy your changes after ConfigurationGeneratorForge has run but before Forge runs

              EXAMPLE

              <script id="BaselineUpdate">
              <bean-shell-script>
              <![CDATA[
                        ...

                        // Generate instance configuration
                       ConfigurationGeneratorForge.archiveLogDir();
                       ConfigurationGeneratorForge.run();

                        cp("/app/dir/apps/MuthuTest/data/complete_index_config/recsearch_config.xml.xml","/app/dir/apps/MuthuTest/data/processing/MuthuTest.recsearch_config.xml");


                       // archive logs and run ITL
                       Forge.archiveLogDir();
                       Forge.run();
                       Dgidx.archiveLogDir();
                       Dgidx.run();

                       ...
                       ]]>
              </bean-shell-script>
              </script>


              Thanks,
              -=Dalyn Bell
              Oracle Software Support