Class BufferedInputIterator

java.lang.Object
org.apache.lucene.search.suggest.BufferedInputIterator
All Implemented Interfaces:
InputIterator, BytesRefIterator
Direct Known Subclasses:
UnsortedInputIterator

public class BufferedInputIterator extends Object implements InputIterator
This wrapper buffers incoming elements.
  • Field Details

    • entries

      protected BytesRefArray entries
      buffered term entries
    • payloads

      protected BytesRefArray payloads
      buffered payload entries
    • contextSets

      protected List<Set<BytesRef>> contextSets
      buffered context set entries
    • curPos

      protected int curPos
      current buffer position
    • freqs

      protected long[] freqs
      buffered weights, parallel with entries
    • spare

      private final BytesRefBuilder spare
    • payloadSpare

      private final BytesRefBuilder payloadSpare
    • hasPayloads

      private final boolean hasPayloads
    • hasContexts

      private final boolean hasContexts
  • Constructor Details

    • BufferedInputIterator

      public BufferedInputIterator(InputIterator source) throws IOException
      Creates a new iterator, buffering entries from the specified iterator
      Throws:
      IOException
  • Method Details

    • weight

      public long weight()
      Description copied from interface: InputIterator
      A term's weight, higher numbers mean better suggestions.
      Specified by:
      weight in interface InputIterator
    • next

      public BytesRef next() throws IOException
      Description copied from interface: BytesRefIterator
      Increments the iteration to the next BytesRef in the iterator. Returns the resulting BytesRef or null if the end of the iterator is reached. The returned BytesRef may be re-used across calls to next. After this method returns null, do not call it again: the results are undefined.
      Specified by:
      next in interface BytesRefIterator
      Returns:
      the next BytesRef in the iterator or null if the end of the iterator is reached.
      Throws:
      IOException - If there is a low-level I/O error.
    • payload

      public BytesRef payload()
      Description copied from interface: InputIterator
      An arbitrary byte[] to record per suggestion. See Lookup.LookupResult.payload to retrieve the payload for each suggestion.
      Specified by:
      payload in interface InputIterator
    • hasPayloads

      public boolean hasPayloads()
      Description copied from interface: InputIterator
      Returns true if the iterator has payloads
      Specified by:
      hasPayloads in interface InputIterator
    • contexts

      public Set<BytesRef> contexts()
      Description copied from interface: InputIterator
      A term's contexts context can be used to filter suggestions. May return null, if suggest entries do not have any context
      Specified by:
      contexts in interface InputIterator
    • hasContexts

      public boolean hasContexts()
      Description copied from interface: InputIterator
      Returns true if the iterator has contexts
      Specified by:
      hasContexts in interface InputIterator