org.apache.lucene.search.suggest
Class SortedInputIterator

java.lang.Object
  extended by org.apache.lucene.search.suggest.SortedInputIterator
All Implemented Interfaces:
InputIterator, BytesRefIterator

public class SortedInputIterator
extends Object
implements InputIterator

This wrapper buffers incoming elements and makes sure they are sorted based on given comparator.

WARNING: This API is experimental and might change in incompatible ways in the next release.

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.lucene.search.suggest.InputIterator
InputIterator.InputIteratorWrapper
 
Field Summary
 
Fields inherited from interface org.apache.lucene.search.suggest.InputIterator
EMPTY
 
Constructor Summary
SortedInputIterator(InputIterator source)
          Creates a new sorted wrapper, using BytesRef.getUTF8SortedAsUnicodeComparator() for sorting.
SortedInputIterator(InputIterator source, Comparator<BytesRef> comparator)
          Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending).
 
Method Summary
protected  long decode(BytesRef scratch, ByteArrayDataInput tmpInput)
          decodes the weight at the current position
protected  BytesRef decodePayload(BytesRef scratch, ByteArrayDataInput tmpInput)
          decodes the payload at the current position
protected  void encode(Sort.ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, BytesRef payload, long weight)
          encodes an entry (bytes+(payload)+weight) to the provided writer
 Comparator<BytesRef> getComparator()
           
 boolean hasPayloads()
          Returns true if the iterator has payloads
 BytesRef next()
           
 BytesRef payload()
          An arbitrary byte[] to record per suggestion.
 long weight()
          A term's weight, higher numbers mean better suggestions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SortedInputIterator

public SortedInputIterator(InputIterator source)
                    throws IOException
Creates a new sorted wrapper, using BytesRef.getUTF8SortedAsUnicodeComparator() for sorting.

Throws:
IOException

SortedInputIterator

public SortedInputIterator(InputIterator source,
                           Comparator<BytesRef> comparator)
                    throws IOException
Creates a new sorted wrapper, sorting by BytesRef (ascending) then cost (ascending).

Throws:
IOException
Method Detail

next

public BytesRef next()
              throws IOException
Specified by:
next in interface BytesRefIterator
Throws:
IOException

weight

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

Specified by:
weight in interface InputIterator

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

getComparator

public Comparator<BytesRef> getComparator()
Specified by:
getComparator in interface BytesRefIterator

encode

protected void encode(Sort.ByteSequencesWriter writer,
                      ByteArrayDataOutput output,
                      byte[] buffer,
                      BytesRef spare,
                      BytesRef payload,
                      long weight)
               throws IOException
encodes an entry (bytes+(payload)+weight) to the provided writer

Throws:
IOException

decode

protected long decode(BytesRef scratch,
                      ByteArrayDataInput tmpInput)
decodes the weight at the current position


decodePayload

protected BytesRef decodePayload(BytesRef scratch,
                                 ByteArrayDataInput tmpInput)
decodes the payload at the current position



Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.