[
https://issues.apache.org/jira/browse/LUCENE-5092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13883518#comment-13883518
]
Paul Elschot commented on LUCENE-5092:
--------------------------------------
I have opened this pull request:
https://github.com/apache/lucene-solr/pull/24
In case a patch is preferred, please let me know.
In the pull request:
DocBlocksIterator extends DocIdSetIterator.
FixedBitSetDBI and EliasFanoDocIdSet implement DocBlocksIterator, so
EliasFanoDocIdSet could also be used for joins.
The join module ToParent/ToChild queries use DocBlocksIterator instead of
FixedBitSet.
In the join module, FixedBitSetCachingWrapperFilter.java is replaced by
DocBlocksCachingWrapperFilter which uses FixedBitSetDBI for now.
LUCENE-5416 is open for FixedBitSetDBI.
> join: don't expect all filters to be FixedBitSet instances
> ----------------------------------------------------------
>
> Key: LUCENE-5092
> URL: https://issues.apache.org/jira/browse/LUCENE-5092
> 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 ID.
> 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
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]