java - 如何测试 Lucene 分析器?

标签 java lucene token tokenize 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从流中提取 token 。问题是 TermAttribute 不再出现在 Lucene 6 中。

它被什么取代了?

Lucene 6.6.0 的等效内容是什么?

最佳答案

我很确定它已被 CharTermAttribute 取代 javadoc

票证已经很旧了,但也许代码保留的时间更长一些: https://issues.apache.org/jira/browse/LUCENE-2372

关于java - 如何测试 Lucene 分析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671388/

相关文章:

java - 如何使用 JavaScript 将异步事件从 Java 服务器发送到网站?

java - 调试未分配给命名变量的堆栈数据

java - 如何在lucene中对索引文件进行排序

solr - 搜索软件/服务器的替代方法以检索所有匹配文档的 ID

php - 正在使用 microtime() 生成密码重置 token 的不良做法

elasticsearch - 是否可以在elasticsearch中注册文档生命周期?

javascript - 如何在 Javascript 中创建 JWT

java - Android - Bundle.putString ("anything") 添加字符串失败

java - JPA:如何将字符串持久化到数据库字段中,键入 MYSQL 文本

Lucene 邻近搜索有边界吗?