Class HunspellStemmer
- java.lang.Object
-
- org.apache.lucene.analysis.hunspell.HunspellStemmer
-
public class HunspellStemmer extends java.lang.ObjectHunspellStemmer uses the affix rules declared in the HunspellDictionary to generate one or more stems for a word. It conforms to the algorithm in the original hunspell algorithm, including recursive suffix stripping.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classHunspellStemmer.StemStem represents all information known about a stem of a word.
-
Constructor Summary
Constructors Constructor Description HunspellStemmer(HunspellDictionary dictionary)Constructs a new HunspellStemmer which will use the provided HunspellDictionary to create its stems.HunspellStemmer(HunspellDictionary dictionary, int recursionCap)Constructs a new HunspellStemmer which will use the provided HunspellDictionary to create its stems
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<HunspellStemmer.Stem>applyAffix(char[] strippedWord, int length, HunspellAffix affix, int recursionDepth)Applies the affix rule to the given word, producing a list of stems if any are foundjava.util.List<HunspellStemmer.Stem>stem(char[] word, int length)Find the stem(s) of the provided wordjava.util.List<HunspellStemmer.Stem>stem(java.lang.String word)Find the stem(s) of the provided wordjava.util.List<HunspellStemmer.Stem>uniqueStems(char[] word, int length)Find the unique stem(s) of the provided word
-
-
-
Constructor Detail
-
HunspellStemmer
public HunspellStemmer(HunspellDictionary dictionary)
Constructs a new HunspellStemmer which will use the provided HunspellDictionary to create its stems. Uses the default recursion cap of2(based on Hunspell documentation).- Parameters:
dictionary- HunspellDictionary that will be used to create the stems
-
HunspellStemmer
public HunspellStemmer(HunspellDictionary dictionary, int recursionCap)
Constructs a new HunspellStemmer which will use the provided HunspellDictionary to create its stems- Parameters:
dictionary- HunspellDictionary that will be used to create the stemsrecursionCap- maximum level of recursion stemmer can go into
-
-
Method Detail
-
stem
public java.util.List<HunspellStemmer.Stem> stem(java.lang.String word)
Find the stem(s) of the provided word- Parameters:
word- Word to find the stems for- Returns:
- List of stems for the word
-
stem
public java.util.List<HunspellStemmer.Stem> stem(char[] word, int length)
Find the stem(s) of the provided word- Parameters:
word- Word to find the stems for- Returns:
- List of stems for the word
-
uniqueStems
public java.util.List<HunspellStemmer.Stem> uniqueStems(char[] word, int length)
Find the unique stem(s) of the provided word- Parameters:
word- Word to find the stems for- Returns:
- List of stems for the word
-
applyAffix
public java.util.List<HunspellStemmer.Stem> applyAffix(char[] strippedWord, int length, HunspellAffix affix, int recursionDepth)
Applies the affix rule to the given word, producing a list of stems if any are found- Parameters:
strippedWord- Word the affix has been removed and the strip addedaffix- HunspellAffix representing the affix rule itselfrecursionDepth- Level of recursion this stemming step is at- Returns:
- List of stems for the word, or an empty list if none are found
-
-