2012-03-18 82 views
3

我已经测试standardanalyzer用的IndexWriter,发现它会自动删除停用词,但是,由于下面的代码是我用什么我没加停用词列表lucene标准分析器是否删除停用词并具有阻止功能?

StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_35); 
     IndexWriterConfig config =new IndexWriterConfig(Version.LUCENE_35, analyzer); 

哪里是默认禁用词列表? 另外,这个分析器是否也会自动生成词汇?

回答

4

根据API docs,存在一组默认的停用词(取自英文),存储在StandardAnalyzer.STOP_WORDS_SET中。如果您使用构造函数public StandardAnalyzer(Version matchVersion)创建分析器,则会使用它,这正是您所做的。该设置与StopAnalyzer.ENGLISH_STOP_WORDS_SET完全相同。您可以使用其他构造函数之一将另一个(可能是空的)一组停用词传递给分析器。

StandardAnalyzer不会阻止单词。如果需要填充,请使用例如SnowballAnalyzer

相关问题