解决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>

 

posted @ 2019-04-22 21:09  jammy626  阅读(472)  评论(0)    收藏  举报