Class ModifyingSuggester
- java.lang.Object
-
- org.apache.lucene.analysis.hunspell.ModifyingSuggester
-
class ModifyingSuggester extends java.lang.Object
A class that modifies the given misspelled word in various ways to get correct suggestions
-
-
Field Summary
Fields Modifier and Type Field Description private static int
MAX_CHAR_DISTANCE
private java.lang.String
misspelled
private java.util.LinkedHashSet<Suggestion>
result
private Hunspell
speller
private char[]
tryChars
private WordCase
wordCase
-
Constructor Summary
Constructors Constructor Description ModifyingSuggester(Hunspell speller, java.util.LinkedHashSet<Suggestion> result, java.lang.String misspelled, WordCase wordCase)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private Suggestion
capitalizeAfterSpace(java.lang.String candidate)
private java.util.List<Suggestion>
checkDictionaryForSplitSuggestions(java.lang.String word)
private boolean
checkSimpleWord(java.lang.String part)
private Suggestion
createSuggestion(java.lang.String candidate)
private void
enumerateMapReplacements(java.lang.String word, java.lang.String accumulated, int offset)
private boolean
shouldSplitByDash()
(package private) boolean
suggest()
private void
tryAddingChar(java.lang.String word)
private void
tryDoubleSwapForShortWords(java.lang.String word, int length)
private void
tryLongSwap(java.lang.String word)
private void
tryMovingChar(java.lang.String word)
private void
tryNeighborKeys(java.lang.String word)
private void
tryRemovingChar(java.lang.String word)
private boolean
tryRep(java.lang.String word)
private void
tryReplacingChar(java.lang.String word)
private void
trySplitting(java.lang.String word)
private boolean
trySuggestion(java.lang.String candidate)
private void
trySwappingChars(java.lang.String word)
private void
tryTwoDuplicateChars(java.lang.String word)
private boolean
tryVariationsOf(java.lang.String word)
-
-
-
Field Detail
-
MAX_CHAR_DISTANCE
private static final int MAX_CHAR_DISTANCE
- See Also:
- Constant Field Values
-
result
private final java.util.LinkedHashSet<Suggestion> result
-
misspelled
private final java.lang.String misspelled
-
wordCase
private final WordCase wordCase
-
tryChars
private final char[] tryChars
-
speller
private final Hunspell speller
-
-
Constructor Detail
-
ModifyingSuggester
ModifyingSuggester(Hunspell speller, java.util.LinkedHashSet<Suggestion> result, java.lang.String misspelled, WordCase wordCase)
-
-
Method Detail
-
suggest
boolean suggest()
- Returns:
- whether any of the added suggestions are considered "good"
-
createSuggestion
private Suggestion createSuggestion(java.lang.String candidate)
-
capitalizeAfterSpace
private Suggestion capitalizeAfterSpace(java.lang.String candidate)
-
tryVariationsOf
private boolean tryVariationsOf(java.lang.String word)
-
tryRep
private boolean tryRep(java.lang.String word)
-
enumerateMapReplacements
private void enumerateMapReplacements(java.lang.String word, java.lang.String accumulated, int offset)
-
checkSimpleWord
private boolean checkSimpleWord(java.lang.String part)
-
trySwappingChars
private void trySwappingChars(java.lang.String word)
-
tryDoubleSwapForShortWords
private void tryDoubleSwapForShortWords(java.lang.String word, int length)
-
tryNeighborKeys
private void tryNeighborKeys(java.lang.String word)
-
tryLongSwap
private void tryLongSwap(java.lang.String word)
-
tryRemovingChar
private void tryRemovingChar(java.lang.String word)
-
tryAddingChar
private void tryAddingChar(java.lang.String word)
-
tryMovingChar
private void tryMovingChar(java.lang.String word)
-
tryReplacingChar
private void tryReplacingChar(java.lang.String word)
-
tryTwoDuplicateChars
private void tryTwoDuplicateChars(java.lang.String word)
-
checkDictionaryForSplitSuggestions
private java.util.List<Suggestion> checkDictionaryForSplitSuggestions(java.lang.String word)
-
trySplitting
private void trySplitting(java.lang.String word)
-
shouldSplitByDash
private boolean shouldSplitByDash()
-
trySuggestion
private boolean trySuggestion(java.lang.String candidate)
-
-