下载IKAnalyzer-2012FF_hf1之后。与solr4.x匹配,但其文档中介绍的useSmart一直无法使用和生效。
schema配置如下:
- <span style="font-size:14px;"><!--配置IK分词器-->
- <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></span>
但是真正测试结果是无效的的,全部都是最细粒切词。
如图:
为了解决这个问题,网上分享了他人的资料,解决了这个问题。新增两个类,然后重新编译打包。 打包后jar包:
链接:http://pan.baidu.com/s/1i4qs1Yt 密码:ix1r
重新指向ik的配置
- <!-- 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.StopFilterFactory" ignoreCase="true" words="stopword.dic" enablePositionIncrements="true" />
- <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
- <filter class="solr.LowerCaseFilterFactory" />
- <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
- </analyzer>
- <analyzer type="query">
- <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="true" />
- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopword.dic" enablePositionIncrements="true" />
- <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
- <filter class="solr.LowerCaseFilterFactory" />
- <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
- </analyzer>
- </fieldType>
- <!-- 引用智能分词 -->
- <fieldType name="smart_ik" class="solr.TextField">
- <analyzer >
- <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="true" /><!-- 智能分词 -->
- </analyzer>
- </fieldType>
- <!-- 引用最细粒 -->
- <fieldType name="tiny_ik" class="solr.TextField">
- <analyzer >
- <tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="false" /><!-- 最细粒分词 -->
- </analyzer>
- </fieldType>
重启:结果如下