我正在使用 Lucene 4.4 来分析一个小型语料库。我试过 StopAnalyzer 和 StopAnalyzer。但是,我的结果中仍然显示了许多我不需要的术语。比如“I'll”、“we”、“x”等。所以,我需要自定义Lucene提供的停用词列表。我的问题是:
如何添加新的停用词?我知道 Lucene 有这个构造函数来使用自定义的停用词
公共 StopAnalyzer(版本 matchVersion,CharArraySet stopWords)
但我不想从头开始构建停用词。我想使用现有的停用词,只需添加我需要的额外停用词。
如何过滤掉所有数字,包括单词和文字数字,例如“1”、“20”、“五”、“十”等?
我的解决方案
- 如 femtoRgon 所示,Lucene 提供的停用词列表非常小,无法更改。我创建了一个带有停用词列表的 CustomizeStopAnalyzer。我使用 StandardTokenizer 并将几个过滤器链接在一起。
- 要删除数字,我必须添加一个 NumericFilter 类来检查每个标记以查看它是否为数字。非常感谢,