Package org.apache.lucene.search.suggest
Class Lookup
- java.lang.Object
-
- org.apache.lucene.search.suggest.Lookup
-
- Direct Known Subclasses:
FSTCompletionLookup
,FSTLookup
,JaspellLookup
,TSTLookup
,WFSTCompletionLookup
public abstract class Lookup extends Object
Simple Lookup interface forCharSequence
suggestions.- 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 class
Lookup.LookupPriorityQueue
APriorityQueue
collecting a fixed size of high priorityLookup.LookupResult
static class
Lookup.LookupResult
Result of a lookup.
-
Field Summary
Fields Modifier and Type Field Description static Comparator<CharSequence>
CHARSEQUENCE_COMPARATOR
A simple char-by-char comparator forCharSequence
-
Constructor Summary
Constructors Constructor Description Lookup()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
build(Dictionary dict)
Build lookup from a dictionary.abstract void
build(TermFreqIterator tfit)
Builds up a new internalLookup
representation based on the givenTermFreqIterator
.abstract boolean
load(InputStream input)
Discard current lookup data and load it from a previously saved copy.abstract List<Lookup.LookupResult>
lookup(CharSequence key, boolean onlyMorePopular, int num)
Look up a key and return possible completion for this key.abstract boolean
store(OutputStream output)
Persist the constructed lookup data to a directory.
-
-
-
Field Detail
-
CHARSEQUENCE_COMPARATOR
public static final Comparator<CharSequence> CHARSEQUENCE_COMPARATOR
A simple char-by-char comparator forCharSequence
-
-
Method Detail
-
build
public void build(Dictionary dict) throws IOException
Build lookup from a dictionary. Some implementations may require sorted or unsorted keys from the dictionary's iterator - useSortedTermFreqIteratorWrapper
orUnsortedTermFreqIteratorWrapper
in such case.- Throws:
IOException
-
build
public abstract void build(TermFreqIterator tfit) throws IOException
Builds up a new internalLookup
representation based on the givenTermFreqIterator
. The implementation might re-sort the data internally.- Throws:
IOException
-
lookup
public abstract List<Lookup.LookupResult> lookup(CharSequence key, boolean onlyMorePopular, int num)
Look up a key and return possible completion for this key.- Parameters:
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 return- Returns:
- a list of possible completions, with their relative weight (e.g. popularity)
-
store
public abstract boolean store(OutputStream output) throws IOException
Persist the constructed lookup data to a directory. Optional operation.- Parameters:
output
-OutputStream
to write the data to.- Returns:
- true if successful, false if unsuccessful or not supported.
- Throws:
IOException
- when fatal IO error occurs.
-
load
public abstract boolean load(InputStream input) throws IOException
Discard current lookup data and load it from a previously saved copy. Optional operation.- Parameters:
input
- theInputStream
to load the lookup data.- Returns:
- true if completed successfully, false if unsuccessful or not supported.
- Throws:
IOException
- when fatal IO error occurs.
-
-