You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "John Wang (JIRA)" <ji...@apache.org> on 2014/03/06 18:14:42 UTC

[jira] [Created] (LUCENE-5495) Boolean Filter does not handle FilterClauses with only bits() implemented

John Wang created LUCENE-5495:
---------------------------------

             Summary: Boolean Filter does not handle FilterClauses with only bits() implemented
                 Key: LUCENE-5495
                 URL: https://issues.apache.org/jira/browse/LUCENE-5495
             Project: Lucene - Core
          Issue Type: Bug
          Components: core/search
    Affects Versions: 4.6.1
            Reporter: John Wang


Some Filter implementations produce DocIdSets without the iterator() implementation, such as o.a.l.facet.range.Range.getFilter().

Currently, such filters cannot be added to a BooleanFilter because BooleanFilter expects all FilterClauses with Filters that have iterator() implemented.

This patch improves the behavior by taking Filters with bits() implemented and treat them separately.

This behavior would be faster in the case for Filters with a forward index as the underlying data structure, where there would be no need to scan the index to build an iterator.

See attached unit test, which fails without this patch.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org