我想使用标记器从我的文本中获取标记。
我的代码:
ArrayList<String> toTextWord = new ArrayList<>();
Analyzer analyzer = new StandardAnalyzer();
try (TokenStream stream = analyzer.tokenStream("tags", new StringReader(iterStr))) {
stream.addAttribute(CharTermAttribute.class);
stream.reset();
while (stream.incrementToken()) {
CharTermAttribute token = stream.getAttribute(CharTermAttribute.class);
System.out.println(token.toString());
toTextWord.add(token.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
但是 StandardAnalyzer() 默认情况下使用单词的小写翻译,我怎样才能关闭它的 toLowerCase?或者在这种情况下还能尝试什么?提前致谢!
如果任务是保留
StandardAnalyzer
除了转换为小写之外的所有功能,那么您需要覆盖createComponents并从那里删除LowerCaseFilter
: