Solr4:加入中文分詞IKAnalyzer2012 FF


前提是已經在Tomcat7下面配置好Solr4.0,詳情參考:Solr4:Tomcat7下面配置Solr

注意:Solr4.0需要IKanalyzer 2012 FF以上版本。
1.下載IKAnalyzer包
下載地址:http://code.google.com/p/ik-analyzer/downloads/list
2.解壓IK Analyzer 2012FF_hf1.zip包
用到其中三個文件:
IKAnalyzer2012FF_u1.jar,放到$CATALINA_HOME/webapps/solr/WEB-INF/lib/目錄下
IKAnalyzer.cfg.xml,stopword.dic,放到$CATALINA_HOME/webapps/solr/WEB-INF/classes/目錄下
3.設置IKAnalyzer中文分詞
修改$SOLR_HOME/collection1/conf/schema.xml文件,在<types></types>中增加如下內容:

<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>          

查詢采用IK自己的最大分詞法,索引則采用它的細粒度分詞法,各自配置了isMaxWordLength屬性。
修改$SOLR_HOME/collection1/conf/schema.xml文件,在<fields></fields>中修改如下內容:

  <field name="content" type="text_ik" indexed="false" stored="true" multiValued="true"/>
  <field name="text" type="text_ik" indexed="true" stored="false" multiValued="true"/>
  ......
  <copyField source="content" dest="text"/>

也可以自己增加刪除相關字段。
4.重建索引,查詢即可
具體過程參考上一篇文章。或者是通過http://localhost:8080/solr/#/collection1/analysis,然后在Analyse Fieldname / FieldType:下拉選擇框中選擇"text_ik",關閉Verbose Output核選框,在Field Value (Index)Field Value (Query)中輸入中文句子,點擊"Analyse Values"即可以看到分詞結果。

 

順便也貼下SmartChineseAnalyzer的配置
1.拷貝~/solr/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-4.0.0.jar$CATALINA_HOME/webapps/solr/WEB-INF/lib/目錄下
2.拷貝上述包中的stopwords.txt$SOLR_HOME/collection1/conf/lang/stopwords_zh-cn.txt
3.修改$SOLR_HOME/collection1/conf/schema.xml文件,在<type></types>中增加如下內容:

 <fieldType name="text_zh-cn" class="solr.TextField" positionIncrementGap="100">
   <analyzer>
    <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
    <filter class="solr.SmartChineseWordTokenFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.PositionFilterFactory" />
    <filter class="solr.StopFilterFactory" ignoreCase="false" words="lang/stopwords_zh-cn.txt" enablePositionIncrements="true"/>
   </analyzer>
  </fieldType>

4.其它省略
   
也可以比較IKAnalyzer與Lucene自帶的SmartChineseSentenceTokenizerFactory的差別,可以通過http://localhost:8080/solr/#/collection1/analysis中選擇不同的分詞器來查看。


免責聲明!

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



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