我已经使用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.