Package org.apache.lucene.search.suggest
Class Lookup
- java.lang.Object
-
- org.apache.lucene.search.suggest.Lookup
-
- Direct Known Subclasses:
AnalyzingInfixSuggester
,AnalyzingSuggester
,FreeTextSuggester
,FSTCompletionLookup
,JaspellLookup
,TSTLookup
,WFSTCompletionLookup
public abstract class Lookup extends java.lang.Object
Simple Lookup interface forCharSequence
suggestions.
-
-
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 java.util.Comparator<java.lang.CharSequence>
CHARSEQUENCE_COMPARATOR
A simple char-by-char comparator forCharSequence
-
Constructor Summary
Constructors Constructor Description Lookup()
Sole constructor.
-
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(InputIterator inputIterator)
Builds up a new internalLookup
representation based on the givenInputIterator
.abstract long
getCount()
Get the number of entries the lookup was built withboolean
load(java.io.InputStream input)
abstract boolean
load(DataInput input)
Discard current lookup data and load it from a previously saved copy.abstract java.util.List<Lookup.LookupResult>
lookup(java.lang.CharSequence key, boolean onlyMorePopular, int num)
Look up a key and return possible completion for this key.abstract long
sizeInBytes()
Get the size of the underlying lookup implementation in memoryboolean
store(java.io.OutputStream output)
abstract boolean
store(DataOutput output)
Persist the constructed lookup data to a directory.
-
-
-
Method Detail
-
build
public void build(Dictionary dict) throws java.io.IOException
Build lookup from a dictionary. Some implementations may require sorted or unsorted keys from the dictionary's iterator - useSortedInputIterator
orUnsortedInputIterator
in such case.- Throws:
java.io.IOException
-
load
public boolean load(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
store
public boolean store(java.io.OutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
getCount
public abstract long getCount()
Get the number of entries the lookup was built with- Returns:
- total number of suggester entries
-
build
public abstract void build(InputIterator inputIterator) throws java.io.IOException
Builds up a new internalLookup
representation based on the givenInputIterator
. The implementation might re-sort the data internally.- Throws:
java.io.IOException
-
lookup
public abstract java.util.List<Lookup.LookupResult> lookup(java.lang.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(DataOutput output) throws java.io.IOException
Persist the constructed lookup data to a directory. Optional operation.- Parameters:
output
-DataOutput
to write the data to.- Returns:
- true if successful, false if unsuccessful or not supported.
- Throws:
java.io.IOException
- when fatal IO error occurs.
-
load
public abstract boolean load(DataInput input) throws java.io.IOException
Discard current lookup data and load it from a previously saved copy. Optional operation.- Parameters:
input
- theDataInput
to load the lookup data.- Returns:
- true if completed successfully, false if unsuccessful or not supported.
- Throws:
java.io.IOException
- when fatal IO error occurs.
-
sizeInBytes
public abstract long sizeInBytes()
Get the size of the underlying lookup implementation in memory- Returns:
- ram size of the lookup implementation in bytes
-
-