solr配置中文分詞器


配置IK分詞器

  • /opt/solr-7.7.1/server/solr-webapp/webapp/WEB-INF/lib目錄中加入IK分詞器的jar包
  • /opt/solr-7.7.1/server/solr/article_core/conf 文件夾下的 managed-schema文件中配置IK中文分詞器
    • 在managed-schema文件中配置ik分詞器的配置
         <fieldType name="text_ik" class="solr.TextField">  
             <analyzer type="index" class="org.wltea.analyzer.lucene.IKAnalyzer" useSmart="false"/>  
	     <analyzer type="query" class="org.wltea.analyzer.lucene.IKAnalyzer" useSmart="false"/>  
        </fieldType>  
*測試分詞效果

* 配置停用詞 擴展詞 同義詞
    停止詞 的功能是過濾,把“啊”加入到停止詞的字典里,比如搜索“你好啊”,solr會過濾掉“啊”,以“你好”去搜索。應該叫過濾詞才好。
    擴展詞 的功能是強制讓擴展詞字典里的詞不被中文分詞器分開,叫它自定義詞也好理解。
    同義詞:搜索結果里出現的同義詞。如我們輸入”還行”,得到的結果包括同義詞”還可以”(需修改IK源碼,IK同義詞暫沒實現)。

    在`/opt/solr-7.7.1/server/solr-webapp/webapp/WEB-INF/`文件夾下創建classes文件夾
    加入
        `IKAnalyzer.cfg.xml`
        `ext.dic`
        ` stopword.dic`
    三個文件,在stopword.dic中配置你的停用詞 ext.dic中配置自定義擴展詞


* 在ext.dic中定義小米手機自定義擴展詞后 對`小米手機`四個字分詞的對比

上面為自定義`小米手機`擴展詞的分詞效果,下面為沒有定義擴展詞的效果

配置smartcn中文分詞器

  • 復制
    /opt/solr-7.7.1/contrib/analysis-extras/lucene-libs中的lucene-analyzers-smartcn-7.7.1.jar
    /opt/solr-7.7.1/server/solr-webapp/webapp/WEB-INF/lib

  • 編輯managed-schema文件加入

<!-- 配置smartcn分詞器 -->
<fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
  </analyzer>
</fieldType>

  • 測試分詞效果

    不推薦使用該分詞器


免責聲明!

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



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