我已经使用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例如。

09-26 03:20