[
https://issues.apache.org/jira/browse/LUCENE-2686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262653#comment-13262653
]
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: https://issues.apache.org/jira/browse/LUCENE-2686
> 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,
> Test2LUCENE2590.java
>
>
> 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:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]