【发布时间】:2016-07-14 10:56:08
【问题描述】:
我有一个基于 Apache Lucene 5.5 / 6.0 的模块,用于检索关键字。一切都很好,除了一件事——Lucene 不会过滤停用词。
我尝试使用两种不同的方法启用停用词过滤。
方法 #1:
tokenStream = new StopFilter(new ASCIIFoldingFilter(new ClassicFilter(new LowerCaseFilter(stdToken))), EnglishAnalyzer.getDefaultStopSet());
tokenStream.reset();
方法 #2:
tokenStream = new StopFilter(new ClassicFilter(new LowerCaseFilter(stdToken)), StopAnalyzer.ENGLISH_STOP_WORDS_SET);
tokenStream.reset();
完整代码在这里:
https://stackoverflow.com/a/36237769/462347
我的问题:
- 为什么 Lucene 不过滤停用词?
- 如何在 Lucene 5.5 / 6.0 中启用停用词过滤?
【问题讨论】:
标签: java apache lucene information-retrieval stop-words