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 Description static classFSTCompletion.CompletionA single completion for a given key.
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_BUCKETSDefault number of buckets.
-
Constructor Summary
Constructors Constructor 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 Description intgetBucket(CharSequence key)Returns the bucket assigned to a given key (if found) or-1if no exact match exists.intgetBucketCount()Returns the bucket count (discretization thresholds).FST<Object>getFST()Returns the internal automaton.Stream<FSTCompletion.Completion>lookup(CharSequence key)Lookup suggestions tokeyand return a stream of matching completions.List<FSTCompletion.Completion>lookup(CharSequence key, int num)Lookup suggestions tokey.
-
-
-
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. SeeFSTCompletionBuilder.higherWeightsFirst- Return most popular suggestions first. This is the default behavior for this implementation. Setting it tofalsehas 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 tokey.- 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).
-
lookup
public Stream<FSTCompletion.Completion> lookup(CharSequence key)
Lookup suggestions tokeyand return a stream of matching completions. The stream fetches completions dynamically - it can be filtered and limited to acquire the desired number of completions without collecting all of them.- Parameters:
key- The prefix to which suggestions should be sought.- Returns:
- Returns the suggestions
-
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-1if no exact match exists.
-
-