lucene-solr scale function reutuns minTarget when having same scores for all the items in the result set











up vote
0
down vote

favorite












I want to normalize the score for a particular query relative to the result set for the query and filter out only more relevant results based on a threshold.



I am using the scale function to normalize scores of result as below and using the normalized score to filter the results which exceeds a threshold using the range function



 "{!func}scale(query({!edismax v=$q}), 0, 100)" 


When result contains exactly one item or multiple items with (scaleInfo.maxVal-scaleInfo.minVal==0) same score, scale function returns minTarget value as the normalized score. As the value is less than the threshold, a valid result may not appear in the final output.



In scale function scale calculated as zero for the scenario (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 ) which i guess the issue



final float scale = (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 : (max-min)/(scaleInfo.maxVal-scaleInfo.minVal);


Is the above usage of scale (normalization) is correct ?
Is my observation regrinding the scale function is correct ?
How should i handle the scenario ? or is it a bug in the scale function ?










share|improve this question


























    up vote
    0
    down vote

    favorite












    I want to normalize the score for a particular query relative to the result set for the query and filter out only more relevant results based on a threshold.



    I am using the scale function to normalize scores of result as below and using the normalized score to filter the results which exceeds a threshold using the range function



     "{!func}scale(query({!edismax v=$q}), 0, 100)" 


    When result contains exactly one item or multiple items with (scaleInfo.maxVal-scaleInfo.minVal==0) same score, scale function returns minTarget value as the normalized score. As the value is less than the threshold, a valid result may not appear in the final output.



    In scale function scale calculated as zero for the scenario (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 ) which i guess the issue



    final float scale = (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 : (max-min)/(scaleInfo.maxVal-scaleInfo.minVal);


    Is the above usage of scale (normalization) is correct ?
    Is my observation regrinding the scale function is correct ?
    How should i handle the scenario ? or is it a bug in the scale function ?










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I want to normalize the score for a particular query relative to the result set for the query and filter out only more relevant results based on a threshold.



      I am using the scale function to normalize scores of result as below and using the normalized score to filter the results which exceeds a threshold using the range function



       "{!func}scale(query({!edismax v=$q}), 0, 100)" 


      When result contains exactly one item or multiple items with (scaleInfo.maxVal-scaleInfo.minVal==0) same score, scale function returns minTarget value as the normalized score. As the value is less than the threshold, a valid result may not appear in the final output.



      In scale function scale calculated as zero for the scenario (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 ) which i guess the issue



      final float scale = (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 : (max-min)/(scaleInfo.maxVal-scaleInfo.minVal);


      Is the above usage of scale (normalization) is correct ?
      Is my observation regrinding the scale function is correct ?
      How should i handle the scenario ? or is it a bug in the scale function ?










      share|improve this question













      I want to normalize the score for a particular query relative to the result set for the query and filter out only more relevant results based on a threshold.



      I am using the scale function to normalize scores of result as below and using the normalized score to filter the results which exceeds a threshold using the range function



       "{!func}scale(query({!edismax v=$q}), 0, 100)" 


      When result contains exactly one item or multiple items with (scaleInfo.maxVal-scaleInfo.minVal==0) same score, scale function returns minTarget value as the normalized score. As the value is less than the threshold, a valid result may not appear in the final output.



      In scale function scale calculated as zero for the scenario (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 ) which i guess the issue



      final float scale = (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 : (max-min)/(scaleInfo.maxVal-scaleInfo.minVal);


      Is the above usage of scale (normalization) is correct ?
      Is my observation regrinding the scale function is correct ?
      How should i handle the scenario ? or is it a bug in the scale function ?







      solr lucene scale normalization






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 8 at 8:25









      Rimash Mohomed

      4618




      4618





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203853%2flucene-solr-scale-function-reutuns-mintarget-when-having-same-scores-for-all-the%23new-answer', 'question_page');
          }
          );

          Post as a guest





































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203853%2flucene-solr-scale-function-reutuns-mintarget-when-having-same-scores-for-all-the%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          Popular posts from this blog

          Schultheiß

          Verwaltungsgliederung Dänemarks

          Liste der Kulturdenkmale in Wilsdruff