[ https://issues.apache.org/jira/browse/LUCENE-7395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15392181#comment-15392181 ]
Uwe Schindler commented on LUCENE-7395: --------------------------------------- My proposal is to add a second abstarct method like the protected {{get()}}: [https://lucene.apache.org/core/6_1_0/core/org/apache/lucene/search/similarities/PerFieldSimilarityWrapper.html#get-java.lang.String-] In that case it could be named {{abstract Similarity default()}}. > Query Norm and coordination factor not calculated when > PerFieldSimilarityWrapper is used > ----------------------------------------------------------------------------------------- > > Key: LUCENE-7395 > URL: https://issues.apache.org/jira/browse/LUCENE-7395 > Project: Lucene - Core > Issue Type: Bug > Affects Versions: 5.3.1, 5.4.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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org