lucene 4.3 中文分词代码演示

首页导入开发需要的架包

  

这里采用的中文分词器是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);
        
    }  


结果显示:

          [我的][家乡][在][福建][建省][龙][岩][市]

发布了43 篇原创文章 · 获赞 2 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/yizufengdou/article/details/9230759