如何测试Lucene Analyzer?

时间:2017-06-21 08:58:15

标签: java lucene token tokenize analyzer

我没有从Analyzer获得预期结果,并希望测试标记化过程。

回答这个问题:How to use a Lucene Analyzer to tokenize a String?

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;

使用TermAttribute从流中提取令牌。问题是TermAttribute不再出现在Lucene 6中。

它取代了什么?

与Lucene 6.6.0相当的是什么?

1 个答案:

答案 0 :(得分:0)

我很确定它已被CharTermAttribute javadoc

取代

票很旧,但代码可能会保持更长时间: https://issues.apache.org/jira/browse/LUCENE-2372