org.apache.lucene.search.suggest
Class Lookup

java.lang.Object
  extended by org.apache.lucene.search.suggest.Lookup
Direct Known Subclasses:
AnalyzingInfixSuggester, AnalyzingSuggester, FreeTextSuggester, FSTCompletionLookup, 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()
          Sole constructor.
 
Method Summary
 void build(Dictionary dict)
          Build lookup from a dictionary.
abstract  void build(InputIterator tfit)
          Builds up a new internal Lookup representation based on the given InputIterator.
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  long sizeInBytes()
          Get the size of the underlying lookup implementation in memory
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()
Sole constructor. (For invocation by subclass constructors, typically implicit.)

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 SortedInputIterator or UnsortedInputIterator in such case.

Throws:
IOException

build

public abstract void build(InputIterator tfit)
                    throws IOException
Builds up a new internal Lookup representation based on the given InputIterator. 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.

sizeInBytes

public abstract long sizeInBytes()
Get the size of the underlying lookup implementation in memory

Returns:
ram size of the lookup implementation in bytes


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