Class IntervalIterator

java.lang.Object
org.apache.lucene.search.DocIdSetIterator
org.apache.lucene.queries.intervals.IntervalIterator
Direct Known Subclasses:
ConjunctionIntervalIterator, DisjunctionIntervalsSource.DisjunctionIntervalIterator, ExtendedIntervalIterator, IntervalFilter, MinimumShouldMatchIntervalsSource.MinimumShouldMatchIntervalIterator, OffsetIntervalsSource.OffsetIntervalIterator, RelativeIterator, RepeatingIntervalsSource.DuplicateIntervalIterator

public abstract class IntervalIterator extends DocIdSetIterator
A DocIdSetIterator that also allows iteration over matching intervals in a document. Once the iterator is positioned on a document by calling DocIdSetIterator.advance(int) or DocIdSetIterator.nextDoc(), intervals may be retrieved by calling nextInterval() until NO_MORE_INTERVALS is returned. The limits of the current interval are returned by start() and end(). When the iterator has been moved to a new document, but before nextInterval() has been called, both these methods return -1. Note that it is possible for a document to return NO_MORE_INTERVALS on the first call to nextInterval()
  • Field Details

    • NO_MORE_INTERVALS

      public static final int NO_MORE_INTERVALS
      When returned from nextInterval(), indicates that there are no more matching intervals on the current document
      See Also:
  • Constructor Details

    • IntervalIterator

      public IntervalIterator()
  • Method Details

    • start

      public abstract int start()
      The start of the current interval Returns -1 if nextInterval() has not yet been called and NO_MORE_INTERVALS once the iterator is exhausted.
    • end

      public abstract int end()
      The end of the current interval Returns -1 if nextInterval() has not yet been called and NO_MORE_INTERVALS once the iterator is exhausted.
    • gaps

      public abstract int gaps()
      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. Should not be called before nextInterval(), or after it has returned NO_MORE_INTERVALS
    • width

      public int width()
      The width of the current interval
    • nextInterval

      public abstract int nextInterval() throws IOException
      Advance the iterator to the next interval
      Returns:
      the start of the next interval, or NO_MORE_INTERVALS if there are no more intervals on the current document
      Throws:
      IOException
    • matchCost

      public abstract float matchCost()
      An indication of the average cost of iterating over all intervals in a document
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object