`
qindongliang1922
  • 浏览: 2146751 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:116306
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:124576
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:58444
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:70342
社区版块
存档分类
最新评论

solr4.3之配置中文分词IK

    博客分类:
  • Solr
阅读更多

上一篇讲了使用solr4.3自带的smartcn进行中文分词,这一篇说一下,怎么使用IK进行分词,
在这之前先对中文分词的种类介绍一下,目前的中文分词主要有两种
1,基于中科院ICTCLAS的隐式马尔科夫hhmm算法的中文分词器,例如smartcn等。(不支持自定义扩展词库)
2,基于正向迭代最细粒度切分算法(正向最大匹配并且最细分词)例如IK,庖丁等(支持自定义扩展词库)


安装分词前,可以去http://code.google.com/p/ik-analyzer/downloads/list下载IK的分词包
ikanalyzer-4.3.1-SNAPSHOT.jar

下载完毕后,将此包放进solr的\WEB-INF\lib下面
F:\eclipse10tomcat\webapps\solr\WEB-INF\lib



下面需要在solr的schemal.xml进行分词器注册,给出代码如下
<!--  配置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>


最后还得配置一个引用字段就OK了
 <field name="ik" type="text_ik" indexed="true" stored="true" multiValued="true"/>


然后访问UI管理器页面,可以使用Analysis进行中文切词分析测试,个人感觉IK的词库要比smartcn的词库大,不过两者各有优缺点,可以视具体业务情况而定,选择自己项目最合适的分词器。


分享到:
评论
2 楼 qindongliang1922 2014-02-28  
qq911110 写道
请问IK做中文分词,扩展词库更新后,只有重启搜索服务,重建索引才有效果,如何做到不需要重启搜索服务就能重新加载 扩展词库呢?



这个目前还没实现,估计得改IK源码了
1 楼 qq911110 2014-02-28  
请问IK做中文分词,扩展词库更新后,只有重启搜索服务,重建索引才有效果,如何做到不需要重启搜索服务就能重新加载 扩展词库呢?

相关推荐

Global site tag (gtag.js) - Google Analytics