[jira] [Commented] (LUCENE-4952) DrillSideways should expose scoreSubDocsAtOnce control
[ https://issues.apache.org/jira/browse/LUCENE-4952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13641047#comment-13641047 ] Commit Tag Bot commented on LUCENE-4952: [trunk commit] mikemccand http://svn.apache.org/viewvc?view=revisionrevision=1471732 LUCENE-4952: add method to force DrillSideways to keep all sub-scorers on the doc being collected 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
[jira] [Commented] (LUCENE-4952) DrillSideways should expose scoreSubDocsAtOnce control
[ https://issues.apache.org/jira/browse/LUCENE-4952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13641051#comment-13641051 ] Commit Tag Bot commented on LUCENE-4952: [trunk commit] mikemccand http://svn.apache.org/viewvc?view=revisionrevision=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
[jira] [Commented] (LUCENE-4952) DrillSideways should expose scoreSubDocsAtOnce control
[ https://issues.apache.org/jira/browse/LUCENE-4952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13641053#comment-13641053 ] Commit Tag Bot commented on LUCENE-4952: [branch_4x commit] mikemccand http://svn.apache.org/viewvc?view=revisionrevision=1471735 LUCENE-4952: add method to force DrillSideways to keep all sub-scorers on the doc being collected 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