1. 程式人生 > >在Solr4.10配置IKAnalyzer 同義詞、擴充套件詞庫、停頓詞詳解

在Solr4.10配置IKAnalyzer 同義詞、擴充套件詞庫、停頓詞詳解

在配置IKAnalyzer 同義詞時,遇到一些麻煩,配置了半天終於成功,在此做個記錄,方便以後參考

其實配置也簡單,主要是jar包,IKAnalyzer貌似已經沒人更新了……本人也是從別人那下載的才可用,我也將jar包上傳至本人資源,

在solr的配置檔案schema.xml中新增:

<!--IKAnalyzer-->
   <fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">  
     <analyzer type="index">  
       <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory"  isMaxWordLength="false"/>  
       <filter class="solr.LowerCaseFilterFactory"/>  
     </analyzer>  
     <analyzer type="query">  
       <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory"  isMaxWordLength="true"/>       
       <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>  
       <filter class="solr.LowerCaseFilterFactory"/>  
     </analyzer>  
   </fieldType>

其中的org.wltea.analyzer.lucene.IKAnalyzerSolrFactory類是自己擴充套件的,synonyms.txt在solr_home/core/conf檔案下。

配置擴充套件詞跟擴充套件停頓詞配置入下:

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_dict">mydict.dic;</entry>
 
<!--使用者可以在這裡配置自己的擴充套件停止詞字典-->
  
<entry key="ext_stopwords">stopword.dic;</entry>  
</properties>

到此配置完成,如現在需要配置“beijing”和"北京"這兩個同義詞,只要在synonyms.txt檔案中新增:  beijing,北京 重啟solr服務即可,如果不生效,把檔案儲存為UTF-8+BOM。