位置:首页 » 文章/教程分享 » solr 6.6.0 配置IKAnalyzer分词

solr 6.6.0 配置IKAnalyzer分词

IKAnalyzer是一个开源的,基于Java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的 IKAnalyzer3.0则发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。GitHub的地址是https://github.com/wks/ik-analyzer,google的地址是https://code.google.com/archive/p/ik-analyzer/
1. 下载ikanalyzer-solr6.5.zippinyin.zip(这里这两个文件是用了一个群里面的共享文件,是别人弄好的);
2. 解压ikanalyzer-solr6.5.zip

把ext.dic、IKAnalyzer.cfg.xml和stopword.dic复制到Tomcat \webapps\solr\WEB-INF\classes中,把ik-analyzer-solr5-5.x.jar和solr-analyzer-ik-5.1.0.jar复制到Tomcat \webapps\solr\WEB-INF\lib中;
3. 打开webapps\solr\solrhome{{core_name}}\conf下的managed-schema文件,在</schema>前加入配置:

 <!-- IK分词 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="false"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
</analyzer>
</fieldType>

这里说下useSmart,我试过,当设置为true时,分词粒度比较小,支取权重比较高的分词,当设置为false时,分词粒度比较小,能匹配多个词;

到这里,IKAnalyzer就算配置完毕,可以直接在后台调试分词了。