2012-03-18 41 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