|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.search.suggest.Lookup org.apache.lucene.search.suggest.fst.FSTCompletionLookup
public class FSTCompletionLookup
An adapter from Lookup
API to FSTCompletion
.
This adapter differs from FSTCompletion
in that it attempts
to discretize any "weights" as passed from in TermFreqIterator.weight()
to match the number of buckets. For the rationale for bucketing, see
FSTCompletion
.
Note:Discretization requires an additional sorting pass.
The range of weights for bucketing/ discretization is determined by sorting the input by weight and then dividing into equal ranges. Then, scores within each range are assigned to that bucket.
Note that this means that even large differences in weights may be lost during automaton construction, but the overall distinction between "classes" of weights will be preserved regardless of the distribution of weights.
For fine-grained control over which weights are assigned to which buckets,
use FSTCompletion
directly or TSTLookup
, for example.
FSTCompletion
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.lucene.search.suggest.Lookup |
---|
Lookup.LookupPriorityQueue, Lookup.LookupResult |
Field Summary |
---|
Fields inherited from class org.apache.lucene.search.suggest.Lookup |
---|
CHARSEQUENCE_COMPARATOR |
Constructor Summary | |
---|---|
FSTCompletionLookup()
This constructor prepares for creating a suggested FST using the build(TermFreqIterator) method. |
|
FSTCompletionLookup(FSTCompletion completion,
boolean exactMatchFirst)
This constructor takes a pre-built automaton. |
|
FSTCompletionLookup(int buckets,
boolean exactMatchFirst)
This constructor prepares for creating a suggested FST using the build(TermFreqIterator) method. |
Method Summary | |
---|---|
void |
build(TermFreqIterator tfit)
Builds up a new internal Lookup representation based on the given TermFreqIterator . |
Object |
get(CharSequence key)
|
boolean |
load(InputStream input)
Discard current lookup data and load it from a previously saved copy. |
List<Lookup.LookupResult> |
lookup(CharSequence key,
boolean higherWeightsFirst,
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. |
Methods inherited from class org.apache.lucene.search.suggest.Lookup |
---|
build |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FSTCompletionLookup()
build(TermFreqIterator)
method. The number of weight
discretization buckets is set to FSTCompletion.DEFAULT_BUCKETS
and
exact matches are promoted to the top of the suggestions list.
public FSTCompletionLookup(int buckets, boolean exactMatchFirst)
build(TermFreqIterator)
method.
buckets
- The number of weight discretization buckets (see
FSTCompletion
for details).exactMatchFirst
- If true
exact matches are promoted to the top of the
suggestions list. Otherwise they appear in the order of
discretized weight and alphabetical within the bucket.public FSTCompletionLookup(FSTCompletion completion, boolean exactMatchFirst)
completion
- An instance of FSTCompletion
.exactMatchFirst
- If true
exact matches are promoted to the top of the
suggestions list. Otherwise they appear in the order of
discretized weight and alphabetical within the bucket.Method Detail |
---|
public void build(TermFreqIterator tfit) throws IOException
Lookup
representation based on the given TermFreqIterator
.
The implementation might re-sort the data internally.
build
in class Lookup
IOException
public List<Lookup.LookupResult> lookup(CharSequence key, boolean higherWeightsFirst, int num)
Lookup
lookup
in class Lookup
key
- lookup key. Depending on the implementation this may be
a prefix, misspelling, or even infix.higherWeightsFirst
- return only more popular resultsnum
- maximum number of results to return
public Object get(CharSequence key)
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |