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

Eks Dev commented on LUCENE-1169:
---------------------------------

Thank for explaining it!

So we have now classes implementing DocIdSetIterator (OpenBitSetIterator, 
SortedVIntList...) that are strictly speaking not conforming to the 
specification for skipTo().  Side-effects we had here  are probably local for 
this issue, but I have somehow bad feeling having different behaving 
implementations of the same interface. Sounds paranoid, no :)

To make things better, new classes in core like eg. OpenBitSet cover the case 
you described, when we have iterator positioned one before the first one, but 
they do not comply to other side effects.

Mainly, invoking iterator.skipTo(anything <= iterator.doc()) should have the 
same effect as next(), meaning that iterator gets moved not only in 
iterator.skipTo(iterator.doc()) ...

to cut to the chase, should we attempt to fix all OpenDocIdSetIterator 
implementations to comply to these effects, or it will be enough to comment 
these differences "relaxed skipTo contract"? Current usage of  these classes is 
in Filter related code and is practically replacement for BitSet iteration, 
therefore "under control". But if we move on using these classes tightly with 
Scorers I am afraid we could expect "one off" and similar bugs.

Another option would be to change specification and use this sentinel -1 
approach, but honestly, this is way above my  head to comment...    

      

> Search with Filter does not work!
> ---------------------------------
>
>                 Key: LUCENE-1169
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1169
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>            Reporter: Eks Dev
>            Assignee: Michael Busch
>            Priority: Blocker
>         Attachments: lucene-1169.patch, TestFilteredSearch.java
>
>
> See attached JUnitTest, self-explanatory

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to