[
https://issues.apache.org/jira/browse/LUCENE-1614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12704229#action_12704229
]
Shai Erera commented on LUCENE-1614:
------------------------------------
Whoa ! so many emails on this list that I completely missed the last two posts
by Marvin (sorry about that Marvin).
bq. Maybe nextDoc and advanceToDoc? (or Matvin's nextDoc() and advance())
I'm fine with nextDoc(). About advance, I think I prefer advance(int target)
for the sake of not repeating the same information twice (i.e.,
advance*ToDoc*(int *target*)). So if I see a line like this: *disi.advance(15)*
I think it's understood exactly as *disi.advanceToDoc(15)*, only the latter is
longer.
bq. advance to doc X then return a boolean telling me if you accept that doc,
but do not do a next()
What do you mean "do not do a next()"? Let's say I have a DISI that can return
docs 1, 3, 7, 10 but it doesn't know so in advance. When you call skipTo(8), it
must reach 7, then figure it's less than 8 and do a next() to land on 10. Do
you mean that it should return false in that case, and not move from 7 to 10?
Since it already moved, and let's assume it cannot go back (at least
efficiently), that means it should remember the last skipTo called was 8 and it
is on 10, so if it is requested to skip to 9, it should return false again ...
is that what you meant?
> Add next() and skipTo() variants to DocIdSetIterator that return the current
> doc, instead of boolean
> ----------------------------------------------------------------------------------------------------
>
> Key: LUCENE-1614
> URL: https://issues.apache.org/jira/browse/LUCENE-1614
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Search
> Reporter: Shai Erera
> Fix For: 2.9
>
>
> See
> http://www.nabble.com/Another-possible-optimization---now-in-DocIdSetIterator-p23223319.html
> for the full discussion. The basic idea is to add variants to those two
> methods that return the current doc they are at, to save successive calls to
> doc(). If there are no more docs, return -1. A summary of what was discussed
> so far:
> # Deprecate those two methods.
> # Add nextDoc() and skipToDoc(int) that return doc, with default impl in DISI
> (calls next() and skipTo() respectively, and will be changed to abstract in
> 3.0).
> #* I actually would like to propose an alternative to the names: advance()
> and advance(int) - the first advances by one, the second advances to target.
> # Wherever these are used, do something like '(doc = advance()) >= 0' instead
> of comparing to -1 for improved performance.
> I will post a patch shortly
--
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]