在Solr中配置中文分詞IKAnalyzer


1、在配置文件schema.xml(位置{SOLR_HOME}/config/下),配置信息如下:

        <!-- IKAnalyzer 中文分詞-->
    <fieldType name="text_ik" class="solr.TextField">
        <analyzer type="index">
            <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory"  isMaxWordLength="false"/>
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
                <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true"/>
                <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
                <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
                <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>   
    </fieldType>

2、在IKAnalyzer相關的jar包(IKAnalyzer2012_u6.jar 本博客不提供下載)放在{SOLR_HOME}/lib下。

3、測試IKAnalyzer中文分詞 效果:

  

ikanlyzer分詞效果還是不錯的 ,通過配置可以擴展個人詞典、自定義停頓詞等。配置信息如下:

 IKAnalyzer.cfg.xml配置文件

stopword.dicIKAnalyzer.cfg.xml復制到class根目錄就可以啟用停用詞功能和擴展自己的詞典

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEpropertiesSYSTEM"http://java.sun.com/dtd/properties.dtd">

<properties>

<comment>IK Analyzer 擴展配置</comment>

<!--用戶可以在這里配置自己的擴展字典 -->

<entrykey="ext_dict">ext.dic;</entry>

<!--用戶可以在這里配置自己的擴展停止詞字典-->

<entrykey="ext_stopwords">stopword.dic;</entry>

</properties>

如果想在solr中使用IK來加載擴展詞典,需要將以上的配置文件和詞典擴展文件放在tomcat/webapps/solr/WEB-INF/classes下。同時,比如我的ext.dic中有以下內容:

那么在solr中分詞效果便是:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM