Skip to content

Commit e5f4ef9

Browse files
committed
Address norwegian stemmer creation issues
1 parent bbac749 commit e5f4ef9

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/StemmerTokenFilterFactory.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@
3838
import org.apache.lucene.analysis.lv.LatvianStemFilter;
3939
import org.apache.lucene.analysis.miscellaneous.EmptyTokenStream;
4040
import org.apache.lucene.analysis.no.NorwegianLightStemFilter;
41+
import org.apache.lucene.analysis.no.NorwegianLightStemFilterFactory;
4142
import org.apache.lucene.analysis.no.NorwegianMinimalStemFilter;
43+
import org.apache.lucene.analysis.no.NorwegianMinimalStemFilterFactory;
4244
import org.apache.lucene.analysis.pt.PortugueseLightStemFilter;
4345
import org.apache.lucene.analysis.pt.PortugueseMinimalStemFilter;
4446
import org.apache.lucene.analysis.pt.PortugueseStemFilter;
@@ -74,6 +76,7 @@
7476
import org.tartarus.snowball.ext.TurkishStemmer;
7577

7678
import java.io.IOException;
79+
import java.util.Collections;
7780

7881
public class StemmerTokenFilterFactory extends AbstractTokenFilterFactory {
7982

@@ -211,12 +214,13 @@ public TokenStream create(TokenStream tokenStream) {
211214

212215
// Norwegian (Nynorsk) stemmers
213216
} else if ("light_nynorsk".equalsIgnoreCase(language) || "lightNynorsk".equalsIgnoreCase(language)) {
214-
// TODO Lucene 10 upgrade: NorwegianLightStemmer is now package private, we no longer have access to the flags constants
215-
return new NorwegianLightStemFilter(tokenStream, 2);
217+
NorwegianLightStemFilterFactory factory = new NorwegianLightStemFilterFactory(Collections.singletonMap("variant", "nn"));
218+
return factory.create(tokenStream);
216219
} else if ("minimal_nynorsk".equalsIgnoreCase(language) || "minimalNynorsk".equalsIgnoreCase(language)) {
217-
// TODO Lucene 10 upgrade: NorwegianLightStemmer is now package private, we no longer have access to the flags constants
218-
return new NorwegianMinimalStemFilter(tokenStream, 2);
219-
220+
NorwegianMinimalStemFilterFactory factory = new NorwegianMinimalStemFilterFactory(
221+
Collections.singletonMap("variant", "nn")
222+
);
223+
return factory.create(tokenStream);
220224
// Persian stemmers
221225
} else if ("persian".equalsIgnoreCase(language)) {
222226
return new PersianStemFilter(tokenStream);

0 commit comments

Comments
 (0)