Details
-
Bug
-
Status: Reopened
-
Major
-
Resolution: Fixed
-
5.3.1, 5.4.1
-
None
-
None
-
New
Description
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)
Attachments
Attachments
Issue Links
- is duplicated by
-
SOLR-9315 SchemaSimilarityFactory should delegate queryNorm and coord to the default similarity
- Closed