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

    java.lang.Object
      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(org.apache.lucene.util.fst.FST<Object> automaton)` Defaults to higher weights first and exact first.
`FSTCompletion(org.apache.lucene.util.fst.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).
`org.apache.lucene.util.fst.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(org.apache.lucene.util.fst.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(org.apache.lucene.util.fst.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 org.apache.lucene.util.fst.FST<Object> getFST()

  Returns the internal automaton.