Java 如何测试Lucene分析仪?

Java 如何测试Lucene分析仪?,java,lucene,token,tokenize,analyzer,Java,Lucene,Token,Tokenize,Analyzer,我没有从我的分析器中得到预期的结果,我想测试标记化过程 这个问题的答案是: List result=new ArrayList(); TokenStream=analyzer.TokenStream(字段,新StringReader(关键字)); 试一试{ while(stream.incrementToken()){ add(stream.getAttribute(TermAttribute.class).term()); } } 捕获(IOE异常){ //没有抛出b/c我们正在使用字符串读取

我没有从我的
分析器中得到预期的结果,我想测试标记化过程

这个问题的答案是:

List result=new ArrayList();
TokenStream=analyzer.TokenStream(字段,新StringReader(关键字));
试一试{
while(stream.incrementToken()){
add(stream.getAttribute(TermAttribute.class).term());
}
}
捕获(IOE异常){
//没有抛出b/c我们正在使用字符串读取器。。。
}
返回结果;
使用
term属性
从流中提取令牌。问题是,
TermAttribute
不再在Lucene 6中

它被什么取代了


Lucene 6.6.0的等价物是什么?

我很确定它被
CharterMatAttribute

这张票已经很旧了,但代码可能保存得更久一些:

如前所述,TermAttribute被替换为
CharterMatAttribute
。我不是Lucene专家,但这是你通过谷歌搜索得到的答案。谢谢@ErwinBolwidt,这正是我想要的答案。。。我的lucene词汇量明显不足。你能用它来回答吗?
List<String> result = new ArrayList<String>();
TokenStream stream  = analyzer.tokenStream(field, new StringReader(keywords));

try {
    while(stream.incrementToken()) {
        result.add(stream.getAttribute(TermAttribute.class).term());
    }
}
catch(IOException e) {
    // not thrown b/c we're using a string reader...
}

return result;