您的位置:首页 > 其它

lucene2.9 中文分词学习和SmartChineseAnalyzer的用法

2012-05-04 09:58 274 查看
lucene2.9的发布,增加了中文分词这个强大的功能.

  以下就是这三个类的用法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 有志合道者,可以好好交流下.呵呵,共同学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: