lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] [Commented] (LUCENE-5092) join: don't expect all filters to be FixedBitSet instances
Date Thu, 20 Feb 2014 17:23:23 GMT


Michael McCandless commented on LUCENE-5092:

I still think it's sort of crazy to let block join have such a wide impact on our APIs?

If it's only block join that needs this special forwards/backwards iteration, maybe we should
make it's own "thing" (separate from DIS/DISI) to do this?  E.g. a FixedBitSetFactory that
given an AtomicReaderContext produces a FixedBitSet, so that we stop "abusing" Filter for
this purpose.

> join: don't expect all filters to be FixedBitSet instances
> ----------------------------------------------------------
>                 Key: LUCENE-5092
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/join
>            Reporter: Adrien Grand
>            Assignee: Adrien Grand
>            Priority: Minor
>         Attachments: LUCENE-5092.patch
> The join module throws exceptions when the parents filter isn't a FixedBitSet. The reason
is that the join module relies on prevSetBit to find the first child document given a parent
> As suggested by Uwe and Paul Elschot on LUCENE-5081, we could fix it by exposing methods
in the iterators to iterate backwards. When the join modules gets an iterator which isn't
able to iterate backwards, it would just need to dump its content into another DocIdSet that
supports backward iteration, FixedBitSet for example.

This message was sent by Atlassian JIRA

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

View raw message