首页导入开发需要的架包:
这里采用的中文分词器是mmseg4j:
mmseg4j用Chih-Hao Tsai 的MMSeg算法实现的中文分词器,并实现lucene的analyzer和solr的TokenizerFactory以方便在Lucene和Solr中使用。 MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%。mmseg4j已经实现了这两种分词算法。
核心代码:
/**
* 显示分词信息
* @param str
* @param a
* @Adder by arvin 2013-7-2 下午5:02:24
*/
public static void displayToken(String str,Analyzer a) {
try {
TokenStream stream = a.tokenStream("content",new StringReader(str));
//创建一个属性,这个属性会添加流中,随着这个TokenStream增加
CharTermAttribute cta = stream.addAttribute(CharTermAttribute.class);
stream.reset();
while(stream.incrementToken()) {
System.out.print("["+cta+"]");
}
System.out.println();
stream.end();
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void testAnalyzer(){
//中文分词器
Analyzer a5=new MMSegAnalyzer();
String str="我的家乡在福建省龙岩市";
AnalyzerUtils.displayToken(str, a5);
}
结果显示:
[我的][家乡][在][福建][建省][龙][岩][市]