Package org.apache.solr.spelling
Class WordBreakSolrSpellChecker
- java.lang.Object
-
- org.apache.solr.spelling.SolrSpellChecker
-
- org.apache.solr.spelling.WordBreakSolrSpellChecker
-
public class WordBreakSolrSpellChecker extends SolrSpellChecker
A spellchecker that breaks and combines words.This will not combine adjacent tokens that do not have the same required status (prohibited, required, optional). However, this feature depends on incoming term flags being properly set. (
QueryConverter.PROHIBITED_TERM_FLAG
,QueryConverter.REQUIRED_TERM_FLAG
,QueryConverter.TERM_IN_BOOLEAN_QUERY_FLAG
, andQueryConverter.TERM_PRECEDES_NEW_BOOLEAN_OPERATOR_FLAG
) This feature breaks completely if the upstream analyzer or query converter sets flags with the same values but different meanings. The default query converter (if not using "spellcheck.q") isSpellingQueryConverter
, which properly sets these flags.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WordBreakSolrSpellChecker.BreakSuggestionTieBreaker
Specify a value on the "breakSuggestionTieBreaker" parameter.
-
Field Summary
Fields Modifier and Type Field Description static String
PARAM_BREAK_SUGGESTION_TIE_BREAKER
SeeWordBreakSolrSpellChecker.BreakSuggestionTieBreaker
for options.static String
PARAM_BREAK_WORDS
Try to break words into multiples? [true|false]static String
PARAM_COMBINE_WORDS
Try to combine multiple words into one? [true|false]static String
PARAM_MAX_CHANGES
SeeWordBreakSpellChecker.setMaxChanges(int)
static String
PARAM_MAX_COMBINE_WORD_LENGTH
SeeWordBreakSpellChecker.setMaxCombineWordLength(int)
static String
PARAM_MAX_EVALUATIONS
SeeWordBreakSpellChecker.setMaxEvaluations(int)
static String
PARAM_MIN_BREAK_WORD_LENGTH
SeeWordBreakSpellChecker.setMinBreakWordLength(int)
static String
PARAM_MIN_SUGGESTION_FREQUENCY
SeeWordBreakSpellChecker.setMinSuggestionFrequency(int)
-
Fields inherited from class org.apache.solr.spelling.SolrSpellChecker
analyzer, DEFAULT_DICTIONARY_NAME, DICTIONARY_NAME, field, FIELD, FIELD_TYPE, fieldTypeName, name
-
-
Constructor Summary
Constructors Constructor Description WordBreakSolrSpellChecker()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
build(SolrCore core, SolrIndexSearcher searcher)
(re)Builds the spelling index.SpellingResult
getSuggestions(SpellingOptions options)
Get suggestions for the given query.String
init(org.apache.solr.common.util.NamedList<?> config, SolrCore core)
boolean
isSuggestionsMayOverlap()
void
reload(SolrCore core, SolrIndexSearcher searcher)
Reloads the index.-
Methods inherited from class org.apache.solr.spelling.SolrSpellChecker
getAccuracy, getDictionaryName, getQueryAnalyzer, getStringDistance, mergeSuggestions, modifyRequest
-
-
-
-
Field Detail
-
PARAM_COMBINE_WORDS
public static final String PARAM_COMBINE_WORDS
Try to combine multiple words into one? [true|false]- See Also:
- Constant Field Values
-
PARAM_BREAK_WORDS
public static final String PARAM_BREAK_WORDS
Try to break words into multiples? [true|false]- See Also:
- Constant Field Values
-
PARAM_MAX_CHANGES
public static final String PARAM_MAX_CHANGES
SeeWordBreakSpellChecker.setMaxChanges(int)
- See Also:
- Constant Field Values
-
PARAM_MAX_COMBINE_WORD_LENGTH
public static final String PARAM_MAX_COMBINE_WORD_LENGTH
SeeWordBreakSpellChecker.setMaxCombineWordLength(int)
- See Also:
- Constant Field Values
-
PARAM_MIN_BREAK_WORD_LENGTH
public static final String PARAM_MIN_BREAK_WORD_LENGTH
SeeWordBreakSpellChecker.setMinBreakWordLength(int)
- See Also:
- Constant Field Values
-
PARAM_BREAK_SUGGESTION_TIE_BREAKER
public static final String PARAM_BREAK_SUGGESTION_TIE_BREAKER
SeeWordBreakSolrSpellChecker.BreakSuggestionTieBreaker
for options.- See Also:
- Constant Field Values
-
PARAM_MAX_EVALUATIONS
public static final String PARAM_MAX_EVALUATIONS
SeeWordBreakSpellChecker.setMaxEvaluations(int)
- See Also:
- Constant Field Values
-
PARAM_MIN_SUGGESTION_FREQUENCY
public static final String PARAM_MIN_SUGGESTION_FREQUENCY
SeeWordBreakSpellChecker.setMinSuggestionFrequency(int)
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public String init(org.apache.solr.common.util.NamedList<?> config, SolrCore core)
- Overrides:
init
in classSolrSpellChecker
-
getSuggestions
public SpellingResult getSuggestions(SpellingOptions options) throws IOException
Description copied from class:SolrSpellChecker
Get suggestions for the given query. Tokenizes the query using a field appropriate Analyzer. TheSpellingResult.getSuggestions()
suggestions must be ordered by best suggestion first.- Specified by:
getSuggestions
in classSolrSpellChecker
- Parameters:
options
- TheSpellingOptions
to use- Returns:
- The
SpellingResult
suggestions - Throws:
IOException
- if there is an error producing suggestions
-
build
public void build(SolrCore core, SolrIndexSearcher searcher)
Description copied from class:SolrSpellChecker
(re)Builds the spelling index. May be a NOOP if the implementation doesn't require building, or can't be rebuilt.- Specified by:
build
in classSolrSpellChecker
-
reload
public void reload(SolrCore core, SolrIndexSearcher searcher) throws IOException
Description copied from class:SolrSpellChecker
Reloads the index. Useful if an external process is responsible for building the spell checker.- Specified by:
reload
in classSolrSpellChecker
- Throws:
IOException
- If there is a low-level I/O error.
-
isSuggestionsMayOverlap
public boolean isSuggestionsMayOverlap()
- Overrides:
isSuggestionsMayOverlap
in classSolrSpellChecker
-
-