org.apache.lucene.search.suggest.fst
Class FSTCompletion

java.lang.Object
  extended by org.apache.lucene.search.suggest.fst.FSTCompletion

public class FSTCompletion
extends Object

Finite state automata based implementation of "autocomplete" functionality.

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

Nested Class Summary
static class FSTCompletion.Completion
          A single completion for a given key.
 
Field Summary
static int DEFAULT_BUCKETS
          Default number of buckets.
 
Constructor Summary
FSTCompletion(FST<Object> automaton)
          Defaults to higher weights first and exact first.
FSTCompletion(FST<Object> automaton, boolean higherWeightsFirst, boolean exactFirst)
           
 
Method Summary
 int getBucket(CharSequence key)
          Returns the bucket assigned to a given key (if found) or -1 if no exact match exists.
 int getBucketCount()
          Returns the bucket count (discretization thresholds).
 FST<Object> getFST()
          Returns the internal automaton.
 List<FSTCompletion.Completion> lookup(CharSequence key, int num)
          Lookup suggestions to key.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_BUCKETS

public static final int DEFAULT_BUCKETS
Default number of buckets.

See Also:
Constant Field Values
Constructor Detail

FSTCompletion

public FSTCompletion(FST<Object> automaton,
                     boolean higherWeightsFirst,
                     boolean exactFirst)
Parameters:
automaton - Automaton with completions. See FSTCompletionBuilder.
higherWeightsFirst - Return most popular suggestions first. This is the default behavior for this implementation. Setting it to false has no effect (use constant term weights to sort alphabetically only).
exactFirst - Find and push an exact match to the first position of the result list if found.

FSTCompletion

public FSTCompletion(FST<Object> automaton)
Defaults to higher weights first and exact first.

See Also:
FSTCompletion(FST, boolean, boolean)
Method Detail

lookup

public List<FSTCompletion.Completion> lookup(CharSequence key,
                                             int num)
Lookup suggestions to key.

Parameters:
key - The prefix to which suggestions should be sought.
num - At most this number of suggestions will be returned.
Returns:
Returns the suggestions, sorted by their approximated weight first (decreasing) and then alphabetically (UTF-8 codepoint order).

getBucketCount

public int getBucketCount()
Returns the bucket count (discretization thresholds).


getBucket

public int getBucket(CharSequence key)
Returns the bucket assigned to a given key (if found) or -1 if no exact match exists.


getFST

public FST<Object> getFST()
Returns the internal automaton.