lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (Resolved) (JIRA)" <>
Subject [jira] [Resolved] (LUCENE-3510) BooleanScorer should not limit number of prohibited clauses
Date Fri, 14 Oct 2011 12:36:11 GMT


Michael McCandless resolved LUCENE-3510.

    Resolution: Fixed
> BooleanScorer should not limit number of prohibited clauses
> -----------------------------------------------------------
>                 Key: LUCENE-3510
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 3.5, 4.0
>         Attachments: LUCENE-3510.patch
> Today it's limited to 32, because it uses a separate bit in the mask
> for each clause.
> But I don't understand why it does this; I think all prohibited
> clauses can share a single boolean/bit?  Any match on a prohibited
> clause sets this bit and the doc is not collected; we don't need each
> prohibited clause to have a dedicated bit?
> We also use the mask for required clauses, but this code is now
> commented out (we always use BS2 if there are any required clauses);
> if we re-enable this code (and I think we should, at least in certain
> cases: I suspect it'd be faster than BS2 in many cases), I think we
> can cutover to an int count instead of bit masks, and then have no
> limit on the required clauses sent to BooleanScorer also.
> Separately I cleaned a few things up about BooleanScorer: all of the
> embedded scorer methods (nextDoc, docID, advance, score) now throw
> UOE; pre-allocate the buckets instead of doing it lazily
> per-sub-collect.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message