论坛首页 Java企业应用论坛

发布IKAnalyzer中文分词器V3.1.6GA

浏览 14195 次
精华帖 (3) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-08   最后修改:2009-12-07

IKAnalyzer3.2.0稳定版已经发布,支持Lucene3.0和solr1.4
链接:http://www.iteye.com/topic/542987

V3.1.1GA -- V3.1.5GA 版本变更一览
  • 1.添加“正向最大切分算法”。
  • 2.完善IK Analyzer对solr1.3版本的集成支持
  • 3.改进对文件名、邮件地址、英文数字混合字串的切分算法
  • 4.新增对停止词(stopword)的自定义扩展
  • 5.支持对JDK1.5的版本的集成



V3.1.6GA版本变更:
新增IK Analyzer对solr1.4版本的集成支持

1.新增org.wltea.analyzer.solr.IKTokenizerFactory14,支持solr1.4的TokenizerFactory接口配置

 类org.wltea.analyzer.solr.IKTokenizerFactory14
说明:该类继承与solr1.4的BaseTokenizerFactory,是IK分词器对solr1.4项目TokenizerFactory接口的扩展实现。从版本V3.1.6起。
属性:isMaxWordLength。该属性决定分词器是否采用最大词语切分。

solr1.4配置样例
使用IKAnalyzer的配置
<schema name="example" version="1.1">
……
<fieldType name="text" class="solr.TextField">
      <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
……
</schema>


使用IKTokenizerFactory14的配置
<fieldType name="text" class="solr.TextField" >
	<analyzer type="index">
		<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory14" isMaxWordLength="false"/>
……

	</analyzer>
	<analyzer type="query">
		<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory14" isMaxWordLength="true"/>
	……
	</analyzer>
</fieldType>


下载 :IKAnalyzer3.1.6GA完整包

更多详细请参看《IKAnalyzer中文分词器V3.1.6使用手册》




   发表时间:2009-11-09  
IK分词是不是很耗内存?用JProfiler测试了一下,占内存蛮多的!有没有办法改进?
0 请登录后投票
   发表时间:2009-11-09   最后修改:2009-11-09
dowsam 写道
IK分词是不是很耗内存?用JProfiler测试了一下,占内存蛮多的!有没有办法改进?


因为要加载近27w条的内存词库,这个没法省啊。就目前而言,相对于普通台式机都有2G的内存,服务器上的内存更多。IK的服务对象是企业应用,个人认为30M左右的内存开销不是问题。
0 请登录后投票
   发表时间:2009-11-09  
IK支持自动检测词库变化吗??
0 请登录后投票
   发表时间:2009-11-09  
dowsam 写道
IK支持自动检测词库变化吗??


不支持,只支持通过配置或者动态API调用添加新词。
0 请登录后投票
   发表时间:2009-11-10  
linliangyi2007 写道
dowsam 写道
IK分词是不是很耗内存?用JProfiler测试了一下,占内存蛮多的!有没有办法改进?


因为要加载近27w条的内存词库,这个没法省啊。就目前而言,相对于普通台式机都有2G的内存,服务器上的内存更多。IK的服务对象是企业应用,个人认为30M左右的内存开销不是问题。


上次测试将词条将近70w条的时候 IK加载词条时出现内存溢出的问题 不知你有什么好的解决方案?
0 请登录后投票
   发表时间:2009-11-10  
shijiyu1984 写道
linliangyi2007 写道
dowsam 写道
IK分词是不是很耗内存?用JProfiler测试了一下,占内存蛮多的!有没有办法改进?


因为要加载近27w条的内存词库,这个没法省啊。就目前而言,相对于普通台式机都有2G的内存,服务器上的内存更多。IK的服务对象是企业应用,个人认为30M左右的内存开销不是问题。


上次测试将词条将近70w条的时候 IK加载词条时出现内存溢出的问题 不知你有什么好的解决方案?


70W条!!比辞海还大啊,有这么多吗,只能扩大你的Xms和Xmx配置了,70w条估计要吃掉80M的内存,不过一般的server配置都是 -Xms256 -Xmx1024的应该不是问题啊
0 请登录后投票
   发表时间:2009-11-13   最后修改:2009-11-13
70W条应该还算不是很大 因为这个要根据用户来决定的 server配置已经 -Xms512M -Xmx1536M了 但是还是不行
0 请登录后投票
   发表时间:2009-11-13  
shijiyu1984 写道
70W条应该还算不是很大 因为这个要根据用户来决定的 server配置已经 -Xms512M -Xmx1536M了 但是还是不行


我不知道你的词条是什么概念,还有到底是什么造成你的内存溢出,IK的词典结构会自动排除重复,平均每1万条词汇占用约1M空间。我严重怀疑你自己使用List加载词元的时候,内存就溢出了,因为使用String占用的内存要大很多。

17万条的汉语词汇已经涵盖了很多偏门的词语,甚至是一堆不是词的短语了。
如果你自己要定制使用的话,估计你要从源码看起,然后做一些修改了。
0 请登录后投票
   发表时间:2009-11-24  
有个 Compass 相关的问题想请教。

IKAnalyzer 和 IKSimilarity 目前都是直接继承了 Lucene,所以直接接入 Compass 没有问题。但 IKQueryParser 好象不是,无法直接替代 lucene 的 QueryParser。

请问有什么方法可以把 IKQueryParser 集成到 Compass 里面?谢谢!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics