在使用solr4.9的過程當中,使用了IKAnalyzer分詞器,其中遇到了很多問題,如今作個記錄,以備後續只用。 html
首先使用IKAnalyzer是看到羣裏有人介紹,可是貌似如今IKAnalyzer已經沒人更新了。。。不知道是否是真的,先無論這些,下面介紹一下如何在solr中使用它。 java
在solr的配置文件schema.xml中添加 spa
<!--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類是本身擴展的,一會我會把IKAnalyzer擴展到Jar包傳上來。
synonyms.txt在solr_home/didi/conf文件下。 code
配置擴展詞跟擴展停頓詞配置入下: xml
IKAnalyzer.cfg.xml內容以下: htm
<?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>
jar包下載路徑:http://pan.baidu.com/s/1kT1cysn token