lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <>
Subject [jira] [Commented] (LUCENE-2686) DisjunctionSumScorer should not call .score on sub scorers until consumer calls .score
Date Thu, 26 Apr 2012 14:58:17 GMT


Uwe Schindler commented on LUCENE-2686:

By the way, DisjunctionSumScorer used in combination with custom collectors using 3.x-ScorerVisitors
or trunk-getChildren also messes up score(), if the collector wants to get the scores of sub-scorers.
So both freq() and score() is affected. The main problem is that DisjunctionSumScorer does
not leave the subscorers on the actual doc id but forward them too early.

bq. We could add a 'needsNavigation' or similar boolean to scorer, and always return your
"BS3" in that case?

Wewould need that to make access to subscorers working for should clauses.
> DisjunctionSumScorer should not call .score on sub scorers until consumer calls .score
> --------------------------------------------------------------------------------------
>                 Key: LUCENE-2686
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: core/search
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 4.0
>         Attachments: LUCENE-2686.patch, LUCENE-2686.patch,
> Spinoff from java-user thread "question about Scorer.freq()" from Koji...
> BooleanScorer2 uses DisjunctionSumScorer to score only-SHOULD-clause boolean queries.
> But, this scorer does too much work for collectors that never call .score, because it
scores while it's matching.  It should only call .score on the subs when the caller calls
its .score.
> This also has the side effect of messing up advanced collectors that gather the freq()
of the subs (using LUCENE-2590).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message