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:
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

    • DEFAULT_BUCKETS

      public static final int DEFAULT_BUCKETS
      Default number of buckets.
      See Also:
  • Constructor Details

    • 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:
  • Method Details

    • 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.