[
https://issues.apache.org/jira/browse/LUCENE-2876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984148#action_12984148
]
Robert Muir commented on LUCENE-2876:
-------------------------------------
I'd like to commit this later today if there aren't any objections (its just
boring cleanup).
As far as 3.1, i rethought the issue, and i think e.g. DisjunctionMaxQuery
should really work with LUCENE-2590.
So i'll look at fixing trying to pass non-null weight in 3.x too, i think users
will see it as a bug...
> Remove Scorer.getSimilarity()
> -----------------------------
>
> Key: LUCENE-2876
> URL: https://issues.apache.org/jira/browse/LUCENE-2876
> Project: Lucene - Java
> Issue Type: Task
> Components: Query/Scoring
> Reporter: Robert Muir
> Assignee: Robert Muir
> Fix For: 3.1, 4.0
>
> Attachments: LUCENE-2876.patch
>
>
> Originally this was part of the patch for per-field Similarity (LUCENE-2236),
> but I pulled it
> out here as its own issue as its really mostly unrelated. I also like it as a
> separate issue
> to apply the deprecation to branch_3x to just make less surprises/migration
> hassles for 4.0 users.
> Currently Scorer takes a confusing number of ctors, either a Similarity, or a
> Weight + Similarity.
> Also, lots of scorers don't use the Similarity at all, and its not really
> needed in Scorer itself.
> Additionally, the Weight argument is often null. The Weight makes sense to be
> here in Scorer,
> its the parent that created the scorer, and used by Scorer itself to support
> LUCENE-2590's features.
> But I dont think all queries work with this feature correctly right now,
> because they pass null.
> Finally the situation gets confusing if you start to consider delegators like
> ScoreCachingWrapperScorer,
> which arent really delegating correctly so I'm unsure features like
> LUCENE-2590 aren't working with this.
> So I think we should remove the getSimilarity, if your scorer uses a
> Similarity its already coming
> to you via your ctor from your Weight and you can manage this yourself.
> Also, all scorers should pass the Weight (parent) that created them, and this
> should be Scorer's only ctor.
> I fixed all core/contrib/solr Scorers (even the internal ones) to pass their
> parent Weight, just for consistency
> of this visitor interface. The only one that passes null is Solr's
> ValueSourceScorer.
> I set fix-for 3.1, not because i want to backport anything, only to mark the
> getSimilarity deprecated there.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]