在使用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