[jira] [Commented] (LUCENE-6850) BooleanWeight should not use BS1 when there is a single non-null clause
[ https://issues.apache.org/jira/browse/LUCENE-6850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14974175#comment-14974175 ] ASF subversion and git services commented on LUCENE-6850: - Commit 1710591 from [~jpountz] in branch 'dev/trunk' [ https://svn.apache.org/r1710591 ] LUCENE-6850: Optimize BooleanScorer for sparse clauses. > BooleanWeight should not use BS1 when there is a single non-null clause > --- > > Key: LUCENE-6850 > URL: https://issues.apache.org/jira/browse/LUCENE-6850 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Adrien Grand >Assignee: Adrien Grand >Priority: Minor > Attachments: LUCENE-6850.patch, LUCENE-6850.patch > > > When a disjunction has a single non-null scorer, we still use BS1 for > bulk-scoring, which first collects matches into a bit set and then calls the > collector. This is inefficient: we should just call the inner bulk scorer > directly and wrap the scorer to apply the coord factor (like > BooleanTopLevelScorers.BoostedScorer does). -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-6850) BooleanWeight should not use BS1 when there is a single non-null clause
[ https://issues.apache.org/jira/browse/LUCENE-6850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14974241#comment-14974241 ] ASF subversion and git services commented on LUCENE-6850: - Commit 1710604 from [~jpountz] in branch 'dev/branches/branch_5x' [ https://svn.apache.org/r1710604 ] LUCENE-6850: Optimize BooleanScorer for sparse clauses. > BooleanWeight should not use BS1 when there is a single non-null clause > --- > > Key: LUCENE-6850 > URL: https://issues.apache.org/jira/browse/LUCENE-6850 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Adrien Grand >Assignee: Adrien Grand >Priority: Minor > Fix For: 6.0, 5.4 > > Attachments: LUCENE-6850.patch, LUCENE-6850.patch > > > When a disjunction has a single non-null scorer, we still use BS1 for > bulk-scoring, which first collects matches into a bit set and then calls the > collector. This is inefficient: we should just call the inner bulk scorer > directly and wrap the scorer to apply the coord factor (like > BooleanTopLevelScorers.BoostedScorer does). -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-6850) BooleanWeight should not use BS1 when there is a single non-null clause
[ https://issues.apache.org/jira/browse/LUCENE-6850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14969098#comment-14969098 ] Adrien Grand commented on LUCENE-6850: -- bq. Another possible optimization here is to check the number of docs in the segment, and if it's below a certain size then don't use the bulk scorer. I like the idea and I was just going to try it out but I'm a bit concerned we would lose significant test coverage of BS1. So I'd rather experiment with this idea in a different issue where we also make sure to keep good coverage for BS1. > BooleanWeight should not use BS1 when there is a single non-null clause > --- > > Key: LUCENE-6850 > URL: https://issues.apache.org/jira/browse/LUCENE-6850 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Adrien Grand >Assignee: Adrien Grand >Priority: Minor > Attachments: LUCENE-6850.patch, LUCENE-6850.patch > > > When a disjunction has a single non-null scorer, we still use BS1 for > bulk-scoring, which first collects matches into a bit set and then calls the > collector. This is inefficient: we should just call the inner bulk scorer > directly and wrap the scorer to apply the coord factor (like > BooleanTopLevelScorers.BoostedScorer does). -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Commented] (LUCENE-6850) BooleanWeight should not use BS1 when there is a single non-null clause
[ https://issues.apache.org/jira/browse/LUCENE-6850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14966710#comment-14966710 ] Alan Woodward commented on LUCENE-6850: --- +1 Another possible optimization here is to check the number of docs in the segment, and if it's below a certain size then don't use the bulk scorer. For example, big disjunctions run against a MemoryIndex currently allocate int[2048] for each node even though there's only a single doc in there. > BooleanWeight should not use BS1 when there is a single non-null clause > --- > > Key: LUCENE-6850 > URL: https://issues.apache.org/jira/browse/LUCENE-6850 > Project: Lucene - Core > Issue Type: Improvement >Reporter: Adrien Grand >Assignee: Adrien Grand >Priority: Minor > Attachments: LUCENE-6850.patch, LUCENE-6850.patch > > > When a disjunction has a single non-null scorer, we still use BS1 for > bulk-scoring, which first collects matches into a bit set and then calls the > collector. This is inefficient: we should just call the inner bulk scorer > directly and wrap the scorer to apply the coord factor (like > BooleanTopLevelScorers.BoostedScorer does). -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org