本文主要是介绍solr4.3之配置中文分词IK,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[size=x-large][b]上一篇讲了使用solr4.3自带的smartcn进行中文分词,这一篇说一下,怎么使用IK进行分词,
在这之前先对中文分词的种类介绍一下,目前的中文分词主要有两种
1,基于中科院ICTCLAS的隐式马尔科夫hhmm算法的中文分词器,例如smartcn等。(不支持自定义扩展词库)
2,基于正向迭代最细粒度切分算法(正向最大匹配并且最细分词)例如IK,庖丁等(支持自定义扩展词库)
安装分词前,可以去[url]http://code.google.com/p/ik-analyzer/downloads/list[/url]下载IK的分词包
[/b][/size]
ikanalyzer-4.3.1-SNAPSHOT.jar
[size=x-large][b]下载完毕后,将此包放进solr的\WEB-INF\lib下面
[/b][/size]
F:\eclipse10tomcat\webapps\solr\WEB-INF\lib
[size=x-large][b]下面需要在solr的schemal.xml进行分词器注册,给出代码如下[/b][/size]
<!-- 配置IK分词器 -->
<fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<!-- 分词-->
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
<!-- 禁用词过滤根据情况使用-->
<!-- <filter class="org.wltea.analyzer.lucene.IKStopFilterFactory"/> -->
</analyzer>
<analyzer type="query">
<!-- 分词-->
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
<!-- 禁用词过滤根据情况使用-->
<!-- <filter class="org.wltea.analyzer.lucene.IKStopFilterFactory"/>-->
</analyzer>
</fieldType>
[size=x-large][b]最后还得配置一个引用字段就OK了[/b][/size]
<field name="ik" type="text_ik" indexed="true" stored="true" multiValued="true"/>
[size=x-large][b]然后访问UI管理器页面,可以使用Analysis进行中文切词分析测试,个人感觉IK的词库要比smartcn的词库大,不过两者各有优缺点,可以视具体业务情况而定,选择自己项目最合适的分词器。[/b][/size]
这篇关于solr4.3之配置中文分词IK的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!