[
https://issues.apache.org/jira/browse/LUCENE-7395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15392536#comment-15392536
]
Uwe Schindler commented on LUCENE-7395:
---------------------------------------
I think a required ctor param is also fine. The abstract method is not needed
as it should always be a constant. Like the other methods, I will make the
impls final. Thanks Adrien!
As this changes API we can do this in 6.2, not earlier.
> 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: [email protected]
For additional commands, e-mail: [email protected]