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>

    *測試分詞效果
    web

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

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

    • 在ext.dic中定義小米手機自定義擴展詞後 對小米手機四個字分詞的對比
      webapp

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

配置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/lib3d

  • 編輯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>
  • 測試分詞效果code

    不推薦使用該分詞器server

相關文章
相關標籤/搜索