我已经使用indexWriter测试了standardanalyzer,发现它会自动删除停用词,但是,我没有添加停用词列表,因为以下代码是我使用的代码
StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_35);
IndexWriterConfig config =new IndexWriterConfig(Version.LUCENE_35, analyzer);
默认停用词列表在哪里?
另外,该分析仪是否也会自动阻止单词?
最佳答案
根据API docs,存在一组默认停用词(取自英语),存储在StandardAnalyzer.STOP_WORDS_SET
中。如果您使用构造函数public StandardAnalyzer(Version matchVersion)
创建分析器,则将使用它,这正是您要做的。该集合与 StopAnalyzer.ENGLISH_STOP_WORDS_SET
完全相同。您可以使用其他构造函数之一来向分析器传递另一组(可能为空)停用词。StandardAnalyzer
不阻止单词。如果需要词干,请使用SnowballAnalyzer
例如。