Yubin Kim created LUCENE-5221:
---------------------------------

             Summary: SimilarityBase.computeNorm is inconsistent with 
TFIDFSimilarity
                 Key: LUCENE-5221
                 URL: https://issues.apache.org/jira/browse/LUCENE-5221
             Project: Lucene - Core
          Issue Type: Bug
          Components: core/search
    Affects Versions: 4.4
            Reporter: Yubin Kim


{{SimilarityBase.computeNorm}} Javadoc indicates that the doc length should be 
encoded in the same way as {{TFIDFSimilarity}}. However, when 
{{discountOverlaps}} is {{false}}, what gets encoded is 
{{SmallFloat.floatToByte315((boost / (float) Math.sqrt(docLen / boost)));}} 
rather than  {{SmallFloat.floatToByte315((boost / (float) 
Math.sqrt(length)));}} due to the extra {{/ state.getBoost()}} term in 
{{SimilarityBase.computeNorm}}: 

  /** Encodes the document length in the same way as {@link TFIDFSimilarity}. */
  @Override
  public long computeNorm(FieldInvertState state) {
    final float numTerms;
    if (discountOverlaps)
      numTerms = state.getLength() - state.getNumOverlap();
    else
      numTerms = state.getLength() */ state.getBoost();*
    return encodeNormValue(state.getBoost(), numTerms);
  }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to