[
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]