IKAnalyzer 開源、輕量級(jí)的中文分詞器,應(yīng)用廣
最想是作為lucene上使用而開發(fā),后來發(fā)展為獨(dú)立的分詞組件。只提供到Lucene4.0版本的支持。我們4.0以后版本Lucene中使用就需要簡(jiǎn)單的集成一下。
<!-- ikanalyzer 中文分詞器 -->
<dependency>
<groupId>com.janeluo</groupId>
<artifactId>ikanalyzer</artifactId>
<version>2012_u6</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- lucene-queryparser 查詢分析器模塊 -->
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>7.3.0</version>
</dependency>
- 需要做集成,是因?yàn)锳nalyzer的createComponents方法API改變了
集成步驟:

IK類
- 找到 ikAnalyzer包提供的Lucene支持類,比較IKAnalyzer的createComponets方法。
- 照這兩個(gè)類,創(chuàng)建新版本的類,類里面的代碼直接復(fù)制,修改參數(shù)即可。
IKAnalyzer提供兩種分詞模式:細(xì)粒度分詞和只能分詞,看它的構(gòu)造參數(shù)。
IKAnalyzer 的停用詞
Ik中默認(rèn)的停用詞很少,我們往往需要擴(kuò)展它??蓮木W(wǎng)址: https://github.com/cseryp/stopwords 下載一份比較全的停用詞。

文件配置
IK中停用詞的擴(kuò)展步驟:
1、在類目錄下創(chuàng)建IK的配置文件:IKAnalyzer.cfg.xml
2、在配置文件中增加配置擴(kuò)展停用詞文件的節(jié)點(diǎn):
<entry key=“ext_stopwords”>my_ext_stopword.dic</entry>
如有多個(gè),以“;”間隔。
3、在類目錄下創(chuàng)建我們的擴(kuò)展停用詞文件 my_ext_stopword.dic
4、編輯該文件加入停用詞,一行一個(gè)

my_ext_stopword.dic
擴(kuò)展IKAnalyzer的詞典:
每年都有很多的新詞產(chǎn)生,往分詞器的詞典中添加新詞的步驟:
1、在類目錄下IK的配置文件:IKAnalyzer.cfg.xml 中增加配置擴(kuò)展詞文件的節(jié)點(diǎn):
<entry key="ext_dict">ext.dic</entry>
如有多個(gè),以“;”間隔
2、在類目錄下創(chuàng)建擴(kuò)展詞文件 ext.dic
3、編輯該文件加入新詞,一行一個(gè)

ext.dic
IKAnalyzer.cfg.xml 文件實(shí)例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴(kuò)展配置</comment>
<!--用戶可以在這里配置自己的擴(kuò)展字典 -->
<entry key="ext_dict">ext.dic</entry>
<!--用戶可以在這里配置自己的擴(kuò)展停止詞字典-->
<entry key="ext_stopwords">my_ext_stopword.dic</entry>
</properties>
注意配置文件必須為UTF-8的格式。