You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2011/01/20 13:12:45 UTC

[jira] Commented: (LUCENE-2876) Remove Scorer.getSimilarity()

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