lucene通过tokenstream显示分词信息「建议收藏」
建议 收藏 信息 显示 通过 分词 Lucene TokenStream
2023-06-13 09:12:43 时间
大家好,又见面了,我是你们的朋友全栈君。
public class AnalyzerUtil {
public static void main(String[] args) {
StandardAnalyzer sa=new StandardAnalyzer(Version.LUCENE_45);
String str="I am come from jiangxi fengcheng tongtian . this is a dog";
TokenStream ts=null;
try {
ts=sa.tokenStream("content", new StringReader(str));
CharTermAttribute cta=ts.addAttribute(CharTermAttribute.class);
ts.reset();
while(ts.incrementToken())
{
//CharTermAttribute cta=ts.getAttribute(CharTermAttribute.class);
System.out.println(cta);
}
ts.end();
/*while(ts.incrementToken()){
System.out.println(cta);
}*/
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(ts!=null)
try {
ts.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
输出:
i
am
come
from
beijing
dog
reset():This method is called by a consumer before it begins consumption using incrementToken().
如果没有加上ts.reset();会报空指针异常。如:
Exception in thread "main" java.lang.NullPointerException
at org.apache.lucene.analysis.standard.StandardTokenizerImpl.zzRefill(StandardTokenizerImpl.java:921)
at org.apache.lucene.analysis.standard.StandardTokenizerImpl.getNextToken(StandardTokenizerImpl.java:1128)
at org.apache.lucene.analysis.standard.StandardTokenizer.incrementToken(StandardTokenizer.java:173)
at org.apache.lucene.analysis.standard.StandardFilter.incrementToken(StandardFilter.java:49)
at org.apache.lucene.analysis.core.LowerCaseFilter.incrementToken(LowerCaseFilter.java:54)
at org.apache.lucene.analysis.util.FilteringTokenFilter.incrementToken(FilteringTokenFilter.java:82)
at com.lucene.analyzer.AnalyzerUtil.main(AnalyzerUtil.java:24)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163120.html原文链接:https://javaforall.cn
相关文章
- vue 加载页面时触发时间_Vue 刷新页面时会触发事件吗「建议收藏」
- pycharm 字体设置「建议收藏」
- linux查看网卡信息的几种方法(命令)「建议收藏」
- 如何卸载干净JAVA?「建议收藏」
- C#通过接口获取税控盘基本信息「建议收藏」
- 怎么进行大数据测试?我们需要具备怎样的测试能力?「建议收藏」
- 在IDEA中实战Git「建议收藏」
- Python机器学习-分类「建议收藏」
- java struts2 漏洞_Struts2漏洞利用「建议收藏」
- IK分词源码讲解(七)-TokenStream以及incrementToken属性处理「建议收藏」
- springboot—@Async实现异步调用及异步回调Future「建议收藏」
- centos7执行ip addr命令ens33没有ip地址「建议收藏」
- Drone2Map:如何使用带有POS信息的无人机数据生成三维模型「建议收藏」
- 什么是CPU密集型、IO密集型?「建议收藏」
- 【CAS】CAS原理「建议收藏」
- Centos Go环境搭建「建议收藏」
- linux redis端口修改端口,linux–redis的安装和配置和开启多个端口「建议收藏」
- Android so文件浅析「建议收藏」
- 工作常用linux命令「建议收藏」
- 比SQL还好用,又一门国产数据库语言诞生了「建议收藏」
- C#获取机器信息(IPV4.IPV6.MAC.硬盘信息,机器厂商/型号)「建议收藏」
- Oracle 参数 DB_RECOVERY_FILE_DEST 官方解释,作用,如何配置最优化建议
- Oracle 参数 RESULT_CACHE_MAX_TEMP_SIZE 官方解释,作用,如何配置最优化建议