[ https://issues.apache.org/jira/browse/LUCENE-4952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13641051#comment-13641051 ]
Commit Tag Bot commented on LUCENE-4952: ---------------------------------------- [trunk commit] mikemccand http://svn.apache.org/viewvc?view=revision&revision=1471733 LUCENE-4952: put CHANGES entry in the right place > DrillSideways should expose "scoreSubDocsAtOnce" control > -------------------------------------------------------- > > Key: LUCENE-4952 > URL: https://issues.apache.org/jira/browse/LUCENE-4952 > Project: Lucene - Core > Issue Type: Bug > Reporter: Michael McCandless > Assignee: Michael McCandless > Fix For: 5.0, 4.4 > > Attachments: LUCENE-4952.patch > > > I hit this when running a ToParentBlockJoinCollector/Query under > DrillSideways ... the problem is ToParentBlockJoinCollector.collect > expects that all sub-scorers are positioned on the docID being > collected, but DrillSideways sometimes scores with a in-order > BooleanScorer-like scorer that advances each sub-scorer in chunks > ... this breaks ToParentBlockJoinCollector. > This is the same issue as LUCENE-2686, where apps that want to peek at > the sub-scorers from their collector need those sub-scorers to all be > "on" the current docID being collected... > One way to "fix" this would be to switch based on > Collector.acceptsDocsOutOfOrder() ... but that's really a hack ... it > only "works" for BooleanQuery because BooleanScorer is an out-of-order > scorer (well and because we fixed all BS2s to keep sub-scorers > positioned on the doc being collected in LUCENE-3505). > But if for example we added MUST clauses back into BooleanScorer > (which I think we should!) then it could easily score those queries > in-order. Really we need another boolean (scoreSubDocsAtOnce or > something) to Weight.scorer... but that's a big change... > I think for this issue I'll just add an expert protected method to > DrillSideways that returns this boolean, and an app could subclass to > override. Apps that "know" they are using queries/collectors like > ToParentBlockJoinQuery/Collector must subclass and override > ... DrillSideways already has other expert methods that you subclass & > override. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org