Package org.apache.lucene.search.suggest
Class Lookup
java.lang.Object
org.apache.lucene.search.suggest.Lookup
- All Implemented Interfaces:
Accountable
- Direct Known Subclasses:
AnalyzingInfixSuggester,AnalyzingSuggester,FreeTextSuggester,FSTCompletionLookup,TSTLookup,WFSTCompletionLookup
Simple Lookup interface for
CharSequence suggestions.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classAPriorityQueuecollecting a fixed size of high priorityLookup.LookupResultstatic final classResult of a lookup. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Comparator<CharSequence> A simple char-by-char comparator forCharSequenceFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbuild(Dictionary dict) Build lookup from a dictionary.abstract voidbuild(InputIterator inputIterator) Builds up a new internalLookuprepresentation based on the givenInputIterator.abstract longgetCount()Get the number of entries the lookup was built withbooleanload(InputStream input) abstract booleanDiscard current lookup data and load it from a previously saved copy.lookup(CharSequence key, boolean onlyMorePopular, int num) Look up a key and return possible completion for this key.abstract List<Lookup.LookupResult> lookup(CharSequence key, Set<BytesRef> contexts, boolean onlyMorePopular, int num) Look up a key and return possible completion for this key.lookup(CharSequence key, BooleanQuery contextFilerQuery, int num, boolean allTermsRequired, boolean doHighlight) Look up a key and return possible completion for this key.booleanstore(OutputStream output) abstract booleanstore(DataOutput output) Persist the constructed lookup data to a directory.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.lucene.util.Accountable
getChildResources, ramBytesUsed
-
Field Details
-
CHARSEQUENCE_COMPARATOR
A simple char-by-char comparator forCharSequence
-
-
Constructor Details
-
Lookup
public Lookup()Sole constructor. (For invocation by subclass constructors, typically implicit.)
-
-
Method Details
-
build
Build lookup from a dictionary. Some implementations may require sorted or unsorted keys from the dictionary's iterator - useSortedInputIteratororUnsortedInputIteratorin such case.- Throws:
IOException
-
load
- Throws:
IOException
-
store
- Throws:
IOException
-
getCount
Get the number of entries the lookup was built with- Returns:
- total number of suggester entries
- Throws:
IOException
-
build
Builds up a new internalLookuprepresentation based on the givenInputIterator. The implementation might re-sort the data internally.- Throws:
IOException
-
lookup
public List<Lookup.LookupResult> lookup(CharSequence key, boolean onlyMorePopular, int num) throws IOException 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)
- Throws:
IOException
-
lookup
public abstract List<Lookup.LookupResult> lookup(CharSequence key, Set<BytesRef> contexts, boolean onlyMorePopular, int num) throws IOException 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.contexts- contexts to filter the lookup by, or null if all contexts are allowed; if the suggestion contains any of the contexts, it's a matchonlyMorePopular- return only more popular resultsnum- maximum number of results to return- Returns:
- a list of possible completions, with their relative weight (e.g. popularity)
- Throws:
IOException
-
lookup
public List<Lookup.LookupResult> lookup(CharSequence key, BooleanQuery contextFilerQuery, int num, boolean allTermsRequired, boolean doHighlight) throws IOException Look up a key and return possible completion for this key. This needs to be overridden by all implementing classes as the default implementation just returns null- Parameters:
key- the lookup keycontextFilerQuery- A query for further filtering the result of the key lookupnum- maximum number of results to returnallTermsRequired- true is all terms are requireddoHighlight- set to true if key should be highlighted- Returns:
- a list of suggestions/completions. The default implementation returns null, meaning each @Lookup implementation should override this and provide their own implementation
- Throws:
IOException- when IO exception occurs
-
store
Persist the constructed lookup data to a directory. Optional operation.- Parameters:
output-DataOutputto write the data to.- Returns:
- true if successful, false if unsuccessful or not supported.
- Throws:
IOException- when fatal IO error occurs.
-
load
Discard current lookup data and load it from a previously saved copy. Optional operation.- Parameters:
input- theDataInputto load the lookup data.- Returns:
- true if completed successfully, false if unsuccessful or not supported.
- Throws:
IOException- when fatal IO error occurs.
-