Lucene入门之中文分词简介

中文分词

分词效果测试方法

1,  定义一串用来分词的语句

例如 String s=”中国的软件必将站在世界之巅”;

2,  将语句写入到流中

例如StringReader reader=new StringReader(s);

3,  遍历所有的分词片段Token

While((t=analyzer.next())!=null){

    System.out.println(t.termText()+””);

}

4,  测试实例:二分法

package example.analizer;

 

//UseCJK.java

 

import java.io.StringReader;

 

import org.apache.lucene.analysis.cjk.CJKTokenizer;

 

public class UseCJK

{

    public static void main(String[] args) throws java.io.IOException

    {

       String s = "中国的软件必将站在世界之巅";

       StringReader sr = new StringReader(s);

      

       CJKTokenizer cjk = new CJKTokenizer(sr);

       org.apache.lucene.analysis.Token t = null;

       

       while( (t=cjk.next()) !=null )

       {

           System.out.print(t.termText()+"|");      

       }

    }

}

 

分词词在Lucene中应用法

     用于创建索引器

     IndexWriter writer =new IndexWriter(indexPath,new CJKAnalyzer());

二分法分词器

CJKAnalyzer

每两个相邻的词算做一个

Lucene自带的中文分词器

   ChineseAnalyzer

单字切分。每个字算做一个。

其它的分词器

   NGram

   JE分词器,基于词典法

   IK分词器,词典分词+正反向全切分法。有两个,MIK_CAnalyzer使用最大全切分算法

   IKAnalyzer使用细粒度全切分算法

   中科院也做了自己的分词器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值