在Solr4.10配置IKAnalyzer 同義詞、擴充套件詞庫、停頓詞詳解
阿新 • • 發佈:2019-02-09
在配置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。