public class WFSTCompletionLookup extends Lookup
NOTE: Although the TermFreqIterator
API specifies
floating point weights, input weights should be whole numbers.
Input weights will be cast to a java integer, and any
negative, infinite, or NaN values will be rejected.
Util.shortestPaths(FST, FST.Arc, Comparator, int)
Lookup.LookupPriorityQueue, Lookup.LookupResult
CHARSEQUENCE_COMPARATOR
Constructor and Description |
---|
WFSTCompletionLookup()
|
WFSTCompletionLookup(boolean exactFirst)
Creates a new suggester.
|
Modifier and Type | Method and Description |
---|---|
void |
build(TermFreqIterator iterator)
Builds up a new internal
Lookup representation based on the given TermFreqIterator . |
Object |
get(CharSequence key)
Returns the weight associated with an input string,
or null if it does not exist.
|
boolean |
load(InputStream input)
Discard current lookup data and load it from a previously saved copy.
|
List<Lookup.LookupResult> |
lookup(CharSequence key,
boolean onlyMorePopular,
int num)
Look up a key and return possible completion for this key.
|
boolean |
store(OutputStream output)
Persist the constructed lookup data to a directory.
|
public WFSTCompletionLookup()
public WFSTCompletionLookup(boolean exactFirst)
exactFirst
- true
if suggestions that match the
prefix exactly should always be returned first, regardless
of score. This has no performance impact, but could result
in low-quality suggestions.public void build(TermFreqIterator iterator) throws IOException
Lookup
Lookup
representation based on the given TermFreqIterator
.
The implementation might re-sort the data internally.build
in class Lookup
IOException
public boolean store(OutputStream output) throws IOException
Lookup
store
in class Lookup
output
- OutputStream
to write the data to.IOException
- when fatal IO error occurs.public boolean load(InputStream input) throws IOException
Lookup
load
in class Lookup
input
- the InputStream
to load the lookup data.IOException
- when fatal IO error occurs.public List<Lookup.LookupResult> lookup(CharSequence key, boolean onlyMorePopular, int num)
Lookup
lookup
in class Lookup
key
- lookup key. Depending on the implementation this may be
a prefix, misspelling, or even infix.onlyMorePopular
- return only more popular resultsnum
- maximum number of results to returnpublic Object get(CharSequence key)