博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lucene6.0学习笔记——查看分词结果
阅读量:5899 次
发布时间:2019-06-19

本文共 1244 字,大约阅读时间需要 4 分钟。

hot3.png

Lucene6.0对查询分词结果的方法做了一些细微的调整,早期lucene的实现方式:

public void analyzeDemo(Analyzer analyzer, String text) throws Exception {	TokenStream tokenStream = analyzer.tokenStream("content", new StringReader(text));	for (Token token = new Token(); (token = tokenStream.next(token)) != null;) {		System.out.println(token);	}}

 最新版lucene的实现方式:

public class AnalyzeDemo {	/**	 * 打印分词结果	 * @param analyzer	 * @param text	 */	public void analyze(Analyzer analyzer, String text) {		try {			TokenStream tokenStream = analyzer.tokenStream("content", new StringReader(text));			tokenStream.addAttribute(CharTermAttribute.class);			tokenStream.reset();			while (tokenStream.incrementToken()) {				CharTermAttribute charTermAttribute = (CharTermAttribute) tokenStream						.getAttribute(CharTermAttribute.class);				System.out.println(charTermAttribute.toString());			}			tokenStream.end();			tokenStream.close();		} catch (Exception e) {			e.printStackTrace();		}	}	public static void main(String[] args) {		String text = "2小时前 - 谈起对中国人none的认同,侯汉廷认为,这与家庭和小时候的教育有很大关系。";		Analyzer analyzer = new SmartChineseAnalyzer();		AnalyzeDemo demo = new AnalyzeDemo();		demo.analyze(analyzer, text);	}}

通过更换分词器,比较相应分词器的分词效果,选择最佳分词器。

转载于:https://my.oschina.net/visionit/blog/714361

你可能感兴趣的文章
关于阿里开发者招聘节 |这5道笔试真题 你会吗!???
查看>>
C#的异常处理机制
查看>>
vsftp:500 OOPS: could not bind listening IPv4 sock
查看>>
Linux安装BTCPayServer并设置比特币BTC和Lightning支付网关
查看>>
Python 的 with 语句
查看>>
mysql安装,远程连接,以及修改密码
查看>>
Mybatis查询返回Map类型数据
查看>>
java的深拷贝与浅拷贝
查看>>
程序员如何提高工作效率
查看>>
promise
查看>>
将Java应用部署到SAP云平台neo环境的两种方式
查看>>
==与equal的区别
查看>>
数据批量导入Oracle数据库
查看>>
调用lumisoft组件发邮件 不需要身份验证 不需要密码
查看>>
DW 正则
查看>>
抓屏原理
查看>>
ASP.NET Web API自身对CORS的支持: EnableCorsAttribute特性背后的故事
查看>>
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
查看>>
扩展 DbUtility (1)
查看>>
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
查看>>