Package org.apache.lucene.search
Class DocValuesRangeIterator
java.lang.Object
org.apache.lucene.search.TwoPhaseIterator
org.apache.lucene.search.DocValuesRangeIterator
Wrapper around a
TwoPhaseIterator
for a doc-values range query that speeds things up by
taking advantage of a DocValuesSkipper
.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
ConstructorsConstructorDescriptionDocValuesRangeIterator
(TwoPhaseIterator twoPhase, DocValuesSkipper skipper, long lowerValue, long upperValue, boolean queryRangeHasGaps) -
Method Summary
Modifier and TypeMethodDescriptionint
Returns the end of the run of consecutive doc IDs that match thisTwoPhaseIterator
and that contains the current doc ID of the approximation, that is: one plus the last doc ID of the run.float
An estimate of the expected cost to determine that a single documentTwoPhaseIterator.matches()
.final boolean
matches()
Return whether the current doc ID thatTwoPhaseIterator.approximation()
is on matches.Methods inherited from class org.apache.lucene.search.TwoPhaseIterator
approximation, asDocIdSetIterator, unwrap
-
Constructor Details
-
DocValuesRangeIterator
public DocValuesRangeIterator(TwoPhaseIterator twoPhase, DocValuesSkipper skipper, long lowerValue, long upperValue, boolean queryRangeHasGaps)
-
-
Method Details
-
matches
Description copied from class:TwoPhaseIterator
Return whether the current doc ID thatTwoPhaseIterator.approximation()
is on matches. This method should only be called when the iterator is positioned -- ie. not whenDocIdSetIterator.docID()
is-1
orDocIdSetIterator.NO_MORE_DOCS
-- and at most once.- Specified by:
matches
in classTwoPhaseIterator
- Throws:
IOException
-
docIDRunEnd
Description copied from class:TwoPhaseIterator
Returns the end of the run of consecutive doc IDs that match thisTwoPhaseIterator
and that contains the current doc ID of the approximation, that is: one plus the last doc ID of the run.Note: It is illegal to call this method when the approximation is exhausted or not positioned.
The default implementation returns the current doc ID of the approximation.
- Overrides:
docIDRunEnd
in classTwoPhaseIterator
- Throws:
IOException
-
matchCost
public float matchCost()Description copied from class:TwoPhaseIterator
An estimate of the expected cost to determine that a single documentTwoPhaseIterator.matches()
. This can be called before iterating the documents ofTwoPhaseIterator.approximation()
. Returns an expected cost in number of simple operations like addition, multiplication, comparing two numbers and indexing an array. The returned value must be positive.- Specified by:
matchCost
in classTwoPhaseIterator
-