[ 
https://issues.apache.org/jira/browse/LUCENE-5092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13700141#comment-13700141
 ] 

Adrien Grand commented on LUCENE-5092:
--------------------------------------

I think the methods to go forward and backward should be on the same instance 
so I don't really like the 2nd option. The only issue I see with adding a 
marker interface is that it would make filtering harder to implement, eg. 
FilteredDocIdSet would need to check whether the underlying iterator supports 
backwards iteration to know whether to implement {{BackwardDocIdSetIterator}} 
or not.

Even if we have a marker interface, Scorers will be able to implement this 
marker interface, so how is it different from adding an optional method to 
DocIdSetIterator (for example I was thinking about two new methods on 
DocIdSetIterator: {{canIterateBackwards()}} and {{prevDoc()}}, 
{{canIterateBackwards()}} returning true meaning that {{prevDoc()}} can be used 
safely).
                
> 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
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to