八、使用IKAnalyzer自定義分詞字典
阿新 • • 發佈:2018-12-26
IKAnalyzer下載地址:https://ik-analyzer.googlecode.com/files/IK%20Analyzer%202012FF_hf1.zip
這裡我使用的是IK Analyzer 2012FF_hf1.zip這個包;因為我用的是solr4.x的;
解壓、檔案拷貝
下載之後用unzip解壓,沒有安裝unzip童鞋安裝下;
解壓之後講IKAnalyzer的jar包拷貝到$SOLR_HOME的lib目錄下;將IKAnalyzer.conf.xml和stopword.dic放到classes目錄下,我這裡的classes目錄是
-
/data/projects/apprank-solr.zqgame.com/WEB-INF/classes
* IKAnalyzer.conf.xml主要的作用是用於自定義分詞字典以及停止詞字典的指定;
* stopword.dic是預設自帶的停止詞,你可以新增自己的停止詞到這個檔案中;
配置
這裡我們只講IKAnalyzer的分詞器配置。其實分詞器的配置大同小異,IKAnalyzer具體配置如下;
- <fieldType name="text" class="solr.TextField">
- <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
-
</fieldType>
- 或者是
- <fieldType name="text_ik" class="solr.TextField">
- <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
- <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
-
</fieldType>
配置完fieldType之後,我們將要使用到分詞器的field的type屬性修改為我們新新增fieldType;
- <field name="name" type="text_ik" indexed="true"/>
自定義分詞字典
接下來講下自定義分詞字典,前面我們在重點檔案說明中以及提到了IKAnalyzer.cfg.xml的作用;先來看下這個檔案的內容
- [email protected]:/data/projects/clusters/IKAnalyzer$ more 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">ext.dic;</entry>
- -->
- <!--使用者可以在這裡配置自己的擴充套件停止詞字典-->
- <entry key="ext_stopwords">stopword.dic;</entry>
- </properties>
我們在IKAnalyzer.cfg.xml的同級目錄下新增一個ext.dic的檔案,檔案內新增自己的分詞字典,重啟就可以了!
看下我們的自定義分詞字典ext.dic
- 天天跑酷
- 天天愛消除
- 天天
大家可以看到效果還不錯。呵呵!