1. 程式人生 > >Solr6.6.0添加IK中文分詞器

Solr6.6.0添加IK中文分詞器

其中 開發 其余 下載鏈接 classes 項目 實現 .com 擴展

IK分詞器就是一款中國人開發的,擴展性很好的中文分詞器,它支持擴展詞庫,可以自己定制分詞項,這對中文分詞無疑是友好的。
jar包下載鏈接:http://pan.baidu.com/s/1o85I15o 密碼:p82g
下載好之後,將IK對應的jar復制到項目的D:\tomcat\webapps\solr\WEB-INF\lib下面,然後在WEB-INF下面創建一個classes的目錄,將其余三個文件(IKAnalyzer.cfg.xml , ext.dic和stopword.dic)復制到這個classes目錄下。

技術分享


打開D:\solrhome\core_demo\conf 下的managed-schema,添加:

<!-- K分詞 -->
<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>

技術分享

同時,把需要分詞的字段,設置為text_ik。type屬性=text_ik,也就是我們自定義的IK中文分詞

技術分享

現在我們測試中文分詞

技術分享

使用聯合sgk域來實現多域查詢

技術分享

另外,解釋一下IK的配置,其中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> 

這裏說下useSmart,我試過,當設置為true時,分詞粒度比較小,支取權重比較高的分詞,當設置為false時,分詞粒度比較小,能匹配多個詞;

到這裏,IKAnalyzer就算配置完畢,可以直接在後臺調試分詞了

Solr6.6.0添加IK中文分詞器