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