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

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `FSTCompletion.Completion` A single completion for a given key.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_BUCKETS` Default number of buckets.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FSTCompletion(FST<Object> automaton)` Defaults to higher weights first and exact first.
    `FSTCompletion(FST<Object> automaton, boolean higherWeightsFirst, boolean exactFirst)` Constructs an FSTCompletion, specifying higherWeightsFirst and exactFirst.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)

      Constructs an FSTCompletion, specifying higherWeightsFirst and 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.

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