[ 
https://issues.apache.org/jira/browse/LUCENE-2876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984387#action_12984387
 ] 

Robert Muir commented on LUCENE-2876:
-------------------------------------

Committed revision 1061499.

Will work on adding the @deprecated and fixing javadocs and null Weights in 
branch_3x,
but we need to provide Similarity where we were providing it before for 
backwards compatibility.


> 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, 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to