Class IntervalFilter
- java.lang.Object
-
- org.apache.lucene.search.DocIdSetIterator
-
- org.apache.lucene.queries.intervals.IntervalIterator
-
- org.apache.lucene.queries.intervals.IntervalFilter
-
public abstract class IntervalFilter extends IntervalIterator
Wraps anIntervalIteratorand passes through those intervals that match theaccept()function
-
-
Field Summary
Fields Modifier and Type Field Description protected IntervalIteratorin-
Fields inherited from class org.apache.lucene.queries.intervals.IntervalIterator
NO_MORE_INTERVALS
-
Fields inherited from class org.apache.lucene.search.DocIdSetIterator
NO_MORE_DOCS
-
-
Constructor Summary
Constructors Constructor Description IntervalFilter(IntervalIterator in)Create a new filter
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract booleanaccept()intadvance(int target)longcost()intdocID()intend()The end of the current interval Returns -1 ifIntervalIterator.nextInterval()has not yet been called andIntervalIterator.NO_MORE_INTERVALSonce the iterator is exhausted.intgaps()The number of gaps within the current interval Note that this returns the number of gaps between the immediate sub-intervals of this interval, and does not include the gaps inside those sub-intervals.floatmatchCost()An indication of the average cost of iterating over all intervals in a documentintnextDoc()intnextInterval()Advance the iterator to the next intervalintstart()The start of the current interval Returns -1 ifIntervalIterator.nextInterval()has not yet been called andIntervalIterator.NO_MORE_INTERVALSonce the iterator is exhausted.-
Methods inherited from class org.apache.lucene.queries.intervals.IntervalIterator
toString, width
-
Methods inherited from class org.apache.lucene.search.DocIdSetIterator
all, empty, range, slowAdvance
-
-
-
-
Field Detail
-
in
protected final IntervalIterator in
-
-
Constructor Detail
-
IntervalFilter
public IntervalFilter(IntervalIterator in)
Create a new filter
-
-
Method Detail
-
docID
public int docID()
- Specified by:
docIDin classDocIdSetIterator
-
nextDoc
public int nextDoc() throws IOException- Specified by:
nextDocin classDocIdSetIterator- Throws:
IOException
-
advance
public int advance(int target) throws IOException- Specified by:
advancein classDocIdSetIterator- Throws:
IOException
-
cost
public long cost()
- Specified by:
costin classDocIdSetIterator
-
start
public int start()
Description copied from class:IntervalIteratorThe start of the current interval Returns -1 ifIntervalIterator.nextInterval()has not yet been called andIntervalIterator.NO_MORE_INTERVALSonce the iterator is exhausted.- Specified by:
startin classIntervalIterator
-
end
public int end()
Description copied from class:IntervalIteratorThe end of the current interval Returns -1 ifIntervalIterator.nextInterval()has not yet been called andIntervalIterator.NO_MORE_INTERVALSonce the iterator is exhausted.- Specified by:
endin classIntervalIterator
-
gaps
public int gaps()
Description copied from class:IntervalIteratorThe number of gaps within the current interval Note that this returns the number of gaps between the immediate sub-intervals of this interval, and does not include the gaps inside those sub-intervals. Should not be called beforeIntervalIterator.nextInterval(), or after it has returnedIntervalIterator.NO_MORE_INTERVALS- Specified by:
gapsin classIntervalIterator
-
matchCost
public float matchCost()
Description copied from class:IntervalIteratorAn indication of the average cost of iterating over all intervals in a document- Specified by:
matchCostin classIntervalIterator- See Also:
TwoPhaseIterator.matchCost()
-
accept
protected abstract boolean accept()
- Returns:
trueif the wrapped iterator's interval should be passed on
-
nextInterval
public final int nextInterval() throws IOExceptionDescription copied from class:IntervalIteratorAdvance the iterator to the next interval- Specified by:
nextIntervalin classIntervalIterator- Returns:
- the start of the next interval, or
IntervalIterator.NO_MORE_INTERVALSif there are no more intervals on the current document - Throws:
IOException
-
-