## org.apache.lucene.search.suggest
Class Lookup

    java.lang.Object
      org.apache.lucene.search.suggest.Lookup

Direct Known Subclasses:
  FSTCompletionLookup, FSTLookup, JaspellLookup, TSTLookup, WFSTCompletionLookup

    public abstract class Lookup

extends Object

Simple Lookup interface for `CharSequence` suggestions.

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

Nested Class Summary
`static class` `Lookup.LookupPriorityQueue` A `PriorityQueue` collecting a fixed size of high priority `Lookup.LookupResult`
`static class` `Lookup.LookupResult` Result of a lookup.

Field Summary
`static Comparator<CharSequence>` `CHARSEQUENCE_COMPARATOR` A simple char-by-char comparator for `CharSequence`

Constructor Summary
`Lookup()`

Method Summary
`void` `build(Dictionary dict)` Build lookup from a dictionary.
`abstract void` `build(TermFreqIterator tfit)` Builds up a new internal `Lookup` representation based on the given `TermFreqIterator`.
`abstract boolean` `load(InputStream input)` Discard current lookup data and load it from a previously saved copy.
`abstract List<Lookup.LookupResult>` `lookup(CharSequence key, boolean onlyMorePopular, int num)` Look up a key and return possible completion for this key.
`abstract boolean` `store(OutputStream output)` Persist the constructed lookup data to a directory.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### CHARSEQUENCE_COMPARATOR

    public static final Comparator<CharSequence> CHARSEQUENCE_COMPARATOR

  A simple char-by-char comparator for `CharSequence`

Constructor Detail

### Lookup

    public Lookup()

Method Detail

### build

    public void build(Dictionary dict)
               throws IOException

  Build lookup from a dictionary. Some implementations may require sorted or unsorted keys from the dictionary's iterator - use `SortedTermFreqIteratorWrapper` or `UnsortedTermFreqIteratorWrapper` in such case.

  Throws:
    `IOException`

### build

    public abstract void build(TermFreqIterator tfit)
                        throws IOException

  Builds up a new internal `Lookup` representation based on the given `TermFreqIterator`. The implementation might re-sort the data internally.

  Throws:
    `IOException`

### lookup

    public abstract List<Lookup.LookupResult> lookup(CharSequence key,
                                                     boolean onlyMorePopular,
                                                     int num)

  Look up a key and return possible completion for this key.

  Parameters:
    `key` - lookup key. Depending on the implementation this may be a prefix, misspelling, or even infix.
    `onlyMorePopular` - return only more popular results
    `num` - maximum number of results to return
  Returns:
    a list of possible completions, with their relative weight (e.g. popularity)

### store

    public abstract boolean store(OutputStream output)
                           throws IOException

  Persist the constructed lookup data to a directory. Optional operation.

  Parameters:
    `output` - `OutputStream` to write the data to.
  Returns:
    true if successful, false if unsuccessful or not supported.
  Throws:
    `IOException` - when fatal IO error occurs.

### load

    public abstract boolean load(InputStream input)
                          throws IOException

  Discard current lookup data and load it from a previously saved copy. Optional operation.

  Parameters:
    `input` - the `InputStream` to load the lookup data.
  Returns:
    true if completed successfully, false if unsuccessful or not supported.
  Throws:
    `IOException` - when fatal IO error occurs.