浏览 3747 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-28
以下就是这三个类的用法ChineseAnalyzer,CJKAnalyzer,SmartChineseAnalyzer 这三个类的结果如下: Example phrase: "我是中国人" ChineseAnalyzer: 我-是-中-国-人 CJKAnalyzer: 我是-是中-中国-国人 SmartChineseAnalyzer: 我-是-中国-人 呵呵,看到这是不是很棒呢?今天自己写了一个中文分词的测试法,是关于SmartChineseAnalyzer的用法 要用到此方法,要导入包,当然我以为只要下载了lucene-core-2.9.1.jar 就会有的,但是我错了. 所以我特意的提下,不想有的朋友也因为这个浪费不少时间 要用到lucene-analyzers-2.9.1.jar 和 lucene-smartcn-2.9.1.jar 这二个包在contrib\analyzers文件 夹下 代码如下: public static void main(String[] args) { String str = "市委座谈会要求加强改进农村党建工作"; String st =null; StringBuffer sb = new StringBuffer(); StringReader reader = new StringReader(str); Analyzer analyzer = new SmartChineseAnalyzer(); TokenStream ts = analyzer.tokenStream("", reader); Token t = null; try { while ((t = ts.next()) != null) { st=t.termText(); if(st.length()>=2){ System.out.println("##"+st);//判断等于二个字的,如果是一个字就不要了 } sb.append(st); } System.out.println(sb); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 刚开始学习lucene 有志合道者,可以好好交流下.呵呵,共同学习 原文链接:http://www.liuzm.com/article/java/9119.htm 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-11-05
你说的smartChineseAnalyze是基于词库分表的吧?
|
|
返回顶楼 | |