Sascha Markus created SOLR-8739:
-----------------------------------

             Summary: Query Norm not calculated when SchemaSimilarityFactory is 
used 
                 Key: SOLR-8739
                 URL: https://issues.apache.org/jira/browse/SOLR-8739
             Project: Solr
          Issue Type: Bug
          Components: search
    Affects Versions: 5.4.1, 5.3.1
            Reporter: Sascha Markus


If any kind of similarity is defined and therefore the SchemaSimilarityFactory 
is defined as global similarity the queryNorm is always 1.0

The PerFieldSimilarityWrapper delegates some of the methods to the desired 
Similarity but misses to delegate public float queryNorm(float 
valueForNormalization)
Instead the IndexReader calls this method on the base class Similarity.

The result is that all scores are much higher.

I created a custom similarity which extends ClassicSimilarity.
To have the calculation fixed I did a local "hotfix"  which always uses the 
default similarity. Also wrong for some cases but fine in my scenario.

  @Override
  public float queryNorm(float valueForNormalization) {
    return get("").queryNorm(valueForNormalization); // use default similarity 
to calculate
  }





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to