solr中文分词的种类

本文介绍如何在Solr中配置IK分词器,并对比IK与smartcn分词器的不同之处。通过详细步骤指导如何下载并安装IK分词包,以及如何在schema.xml文件中注册IK分词器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


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

Java代码 复制代码  收藏代码
  1. ikanalyzer-4.3.1-SNAPSHOT.jar  
ikanalyzer-4.3.1-SNAPSHOT.jar


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

Java代码 复制代码  收藏代码
  1. F:\eclipse10tomcat\webapps\solr\WEB-INF\lib  
F:\eclipse10tomcat\webapps\solr\WEB-INF\lib




下面需要在solr的schemal.xml进行分词器注册,给出代码如下

Java代码 复制代码  收藏代码
  1. <!--  配置IK分词器 -->  
  2.     <fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">  
  3.       <analyzer type="index">  
  4.       <!--  分词-->  
  5.         <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>  
  6.          <!--   禁用词过滤根据情况使用-->  
  7.         <!-- <filter class="org.wltea.analyzer.lucene.IKStopFilterFactory"/> -->  
  8.       </analyzer>  
  9.       <analyzer type="query">  
  10.        <!--  分词-->  
  11.         <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>  
  12.         <!--   禁用词过滤根据情况使用-->  
  13.         <!-- <filter class="org.wltea.analyzer.lucene.IKStopFilterFactory"/>-->  
  14.       </analyzer>  
  15.     </fieldType>  
<!--  配置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了

Java代码 复制代码  收藏代码
  1. <field name="ik" type="text_ik" indexed="true" stored="true" multiValued="true"/>  
 <field name="ik" type="text_ik" indexed="true" stored="true" multiValued="true"/>



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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值