[jira] [Commented] (LUCENE-8935) BooleanQuery with no scoring clauses cannot skip documents when running TOP_SCORES mode
[ https://issues.apache.org/jira/browse/LUCENE-8935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16895050#comment-16895050 ] ASF subversion and git services commented on LUCENE-8935: - Commit c557e4323daaff43d041d0599b254d94f1b8d792 in lucene-solr's branch refs/heads/branch_8x from jimczi [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=c557e43 ] LUCENE-8935: BooleanQuery with no scoring clause can now early terminate the query when the total hits is not requested. > BooleanQuery with no scoring clauses cannot skip documents when running > TOP_SCORES mode > --- > > Key: LUCENE-8935 > URL: https://issues.apache.org/jira/browse/LUCENE-8935 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8935.patch > > > Today a boolean query that is composed of filtering clauses only (more than > one) cannot skip documents when the search is executed with the TOP_SCORES > mode. However since all documents have a score of 0 it should be possible to > early terminate the query as soon as we collected enough top hits. Wrapping > the resulting boolean scorer in a constant score scorer should allow early > termination in this case and would speed up the retrieval of top hits case > considerably if the total hit count is not requested. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8935) BooleanQuery with no scoring clauses cannot skip documents when running TOP_SCORES mode
[ https://issues.apache.org/jira/browse/LUCENE-8935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16895037#comment-16895037 ] ASF subversion and git services commented on LUCENE-8935: - Commit b8289abeebb23b10ea02b8a27d6b6c07deaa9e50 in lucene-solr's branch refs/heads/master from jimczi [ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=b8289ab ] LUCENE-8935: BooleanQuery with no scoring clause can now early terminate the query when the total hits is not requested. > BooleanQuery with no scoring clauses cannot skip documents when running > TOP_SCORES mode > --- > > Key: LUCENE-8935 > URL: https://issues.apache.org/jira/browse/LUCENE-8935 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8935.patch > > > Today a boolean query that is composed of filtering clauses only (more than > one) cannot skip documents when the search is executed with the TOP_SCORES > mode. However since all documents have a score of 0 it should be possible to > early terminate the query as soon as we collected enough top hits. Wrapping > the resulting boolean scorer in a constant score scorer should allow early > termination in this case and would speed up the retrieval of top hits case > considerably if the total hit count is not requested. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8935) BooleanQuery with no scoring clauses cannot skip documents when running TOP_SCORES mode
[ https://issues.apache.org/jira/browse/LUCENE-8935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16893786#comment-16893786 ] Adrien Grand commented on LUCENE-8935: -- Woops indeed you are right. +1 to the attached patch! > BooleanQuery with no scoring clauses cannot skip documents when running > TOP_SCORES mode > --- > > Key: LUCENE-8935 > URL: https://issues.apache.org/jira/browse/LUCENE-8935 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8935.patch > > > Today a boolean query that is composed of filtering clauses only (more than > one) cannot skip documents when the search is executed with the TOP_SCORES > mode. However since all documents have a score of 0 it should be possible to > early terminate the query as soon as we collected enough top hits. Wrapping > the resulting boolean scorer in a constant score scorer should allow early > termination in this case and would speed up the retrieval of top hits case > considerably if the total hit count is not requested. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8935) BooleanQuery with no scoring clauses cannot skip documents when running TOP_SCORES mode
[ https://issues.apache.org/jira/browse/LUCENE-8935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16893713#comment-16893713 ] Jim Ferenczi commented on LUCENE-8935: -- Sorry I misunderstood the logic but the number of scoring clauses is already computed from the pruned list of scorers so the actual patch works. It's the scorer supplier that can be null but in such case they would not appear in Boolean2ScorerSupplier. > BooleanQuery with no scoring clauses cannot skip documents when running > TOP_SCORES mode > --- > > Key: LUCENE-8935 > URL: https://issues.apache.org/jira/browse/LUCENE-8935 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8935.patch > > > Today a boolean query that is composed of filtering clauses only (more than > one) cannot skip documents when the search is executed with the TOP_SCORES > mode. However since all documents have a score of 0 it should be possible to > early terminate the query as soon as we collected enough top hits. Wrapping > the resulting boolean scorer in a constant score scorer should allow early > termination in this case and would speed up the retrieval of top hits case > considerably if the total hit count is not requested. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8935) BooleanQuery with no scoring clauses cannot skip documents when running TOP_SCORES mode
[ https://issues.apache.org/jira/browse/LUCENE-8935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16893708#comment-16893708 ] Jim Ferenczi commented on LUCENE-8935: -- The logic is already at the bottom of Boolean2ScorerSupplier#get but good call on the SHOULD clause that can produce a null scorer. We can check the number of scoring clauses after the build instead of checking the number of scorer suppliers. I'll work on a fix. > BooleanQuery with no scoring clauses cannot skip documents when running > TOP_SCORES mode > --- > > Key: LUCENE-8935 > URL: https://issues.apache.org/jira/browse/LUCENE-8935 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8935.patch > > > Today a boolean query that is composed of filtering clauses only (more than > one) cannot skip documents when the search is executed with the TOP_SCORES > mode. However since all documents have a score of 0 it should be possible to > early terminate the query as soon as we collected enough top hits. Wrapping > the resulting boolean scorer in a constant score scorer should allow early > termination in this case and would speed up the retrieval of top hits case > considerably if the total hit count is not requested. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-8935) BooleanQuery with no scoring clauses cannot skip documents when running TOP_SCORES mode
[ https://issues.apache.org/jira/browse/LUCENE-8935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16893690#comment-16893690 ] Adrien Grand commented on LUCENE-8935: -- The approach works for me. I'm wondering that if we put this logic at the very bottom of Boolean2ScorerSupplier#get instead then we'd also cover the case when there is a SHOULD clause in addition to the FILTER clauses, but it produces a null scorer. > BooleanQuery with no scoring clauses cannot skip documents when running > TOP_SCORES mode > --- > > Key: LUCENE-8935 > URL: https://issues.apache.org/jira/browse/LUCENE-8935 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Jim Ferenczi >Priority: Minor > Attachments: LUCENE-8935.patch > > > Today a boolean query that is composed of filtering clauses only (more than > one) cannot skip documents when the search is executed with the TOP_SCORES > mode. However since all documents have a score of 0 it should be possible to > early terminate the query as soon as we collected enough top hits. Wrapping > the resulting boolean scorer in a constant score scorer should allow early > termination in this case and would speed up the retrieval of top hits case > considerably if the total hit count is not requested. -- This message was sent by Atlassian JIRA (v7.6.14#76016) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org