解决Lucene 内置的中文分词器对中文不友好的问题

1.使用中文分词器IKAnalyzer

 

IKAnalyzer继承LuceneAnalyzer抽象类,使用IKAnalyzerLucene自带的分析器方法一样,将Analyzer测试代码改为IKAnalyzer测试中文分词效果。

 

如果使用中文分词器ik-analyzer,就在索引和搜索程序中使用一致的分词器ik-analyzer。

 

2.使用luke测试IK中文分词

 

 

1)打开Luke,不要指定Lucene目录。否则看不到效果

 

2)在分词器栏,手动输入IkAnalyzer的全路径

 

org.wltea.analyzer.lucene.IKAnalyzer

3.添加jar

IKAnalyzer2012FF_u1.jar

4.修改分词器代码

// 创建中文分词器

Analyzer analyzer = new IKAnalyzer();

5. 扩展中文词库

 

 

拓展词库的作用:在分词的过程中,保留定义的这些词

 

1src或其他source目录下建立自己的拓展词库,mydict.dic文件

 

 

2src或其他source目录下建立自己的停用词库ext_stopword.dic文件

 

停用词的作用:在分词的过程中,分词器会忽略这些词。

 

3src或其他source目录下建立IKAnalyzer.cfg.xml,内容如下(注意路径对应):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
    <comment>IK Analyzer 扩展配置</comment>
    <!-- 用户可以在这里配置自己的扩展字典 -->
     <entry key="ext_dict">mydict.dic</entry> 
     <!-- 用户可以在这里配置自己的扩展停用词字典    -->
    <entry key="ext_stopwords">ext_stopword.dic</entry>
</properties>

 

转载于:https://www.cnblogs.com/626zch/p/10753038.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值