[jira] [Updated] (LUCENE-5495) Boolean Filter does not handle FilterClauses with only bits() implemented
[ https://issues.apache.org/jira/browse/LUCENE-5495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] John Wang updated LUCENE-5495: -- Attachment: LUCENE-5495.patch > 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 > Attachments: LUCENE-5495.patch, LUCENE-5495.patch > > > 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org
[jira] [Updated] (LUCENE-5495) Boolean Filter does not handle FilterClauses with only bits() implemented
[ https://issues.apache.org/jira/browse/LUCENE-5495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] John Wang updated LUCENE-5495: -- Attachment: LUCENE-5495.patch > 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 > Attachments: LUCENE-5495.patch > > > 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org