在Lucene 4.0+中进行词干+停止词过滤

时间:2013-08-30 00:56:35

标签: lucene stemming

我曾经使用SnowBallAnalyzer将自定义停用词过滤与基本词干结合起来,但它已被弃用。对于例如在index config中,我可以轻松指定:

IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_32,
                new SnowballAnalyzer(Version.LUCENE_32, "name", stopSet));

其中stopSet是我的自定义停用词列表。

我现在如何创建一个能够过滤停用词并进行基本英语干扰的分析器?

感谢。

1 个答案:

答案 0 :(得分:0)

使用EnglishAnalyzer

new EnglishAnalyzer(Version.LUCENE_32, stopSet)

如果你没有将有效的词干分析器名称传递给SnowballAnalyzer构造函数,我对你列出的代码如何做任何特别有用的东西感到有点困惑。好像它应该在这里抛出异常:

 Class<?> stemClass = Class.forName("org.tartarus.snowball.ext." + name + "Stemmer");

因为没有一个叫做“org.tartarus.snowball.ext.nameStemmer”的词干。