`
linliangyi2007
  • 浏览: 1012582 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

发布 IK Analyzer 3.2.5 稳定版 for Lucene3.0

阅读更多
新版本IKAnnlyzer3.2.8已发布!
地址: http://linliangyi2007.iteye.com/blog/941132


IK Analyzer 3.2.5版本修订

在3.2.3版本基础上,更新如下:
1.修订了分词器内部的数组越界异常
2.重构了字母子分词器,强化了对英文和阿拉伯混合字窜的切分
3.根据用户意见,修订了字典扩展的API接口,List-->Collection
4.考虑到linux系统下用户使用的方便性,将发布包从rar改为zip压缩

PS:如果您使用的是Solr1.3或者v2.9之前的Lucene,请下载IK Analyzer3.1.6GA使用! IK Analyzer3.2.X仅支持Lucene3.0以上版本。

下载地址

IK Analyzer 3.2.5分布包

IK Analyzer 3.2.5源码包
分享到:
评论
41 楼 monkeygreg 2011-10-26  
linliangyi2007 写道
monkeygreg 写道

'无关'&&('技术' '牛人') 
'无关' ('技术' '牛人')  
'无关' ('技术'||'牛人') 
'无关'&&('技术'||'牛人')
'无关'('技术'||'牛人')  



查询关键字之间都必须有逻辑操作符,'无关'('技术'||'牛人') 这种就是非法的,‘无关’后面没有&&或者||是什么意思?



我以为中间没有空格就表示与的关系,比如'技术牛人'解析成'技术'&&'牛人'

另外空格是不是表示||的关系呢,如果那样的话
'无关'&&('技术' '牛人')  有结果
'无关'&&('技术'||'牛人') 无结果
这两个测试为什么会出现不同的结果呢
40 楼 linliangyi2007 2011-10-26  
monkeygreg 写道

'无关'&&('技术' '牛人') 
'无关' ('技术' '牛人')  
'无关' ('技术'||'牛人') 
'无关'&&('技术'||'牛人')
'无关'('技术'||'牛人')  



查询关键字之间都必须有逻辑操作符,'无关'('技术'||'牛人') 这种就是非法的,‘无关’后面没有&&或者||是什么意思?
39 楼 monkeygreg 2011-10-26  
linliangyi2007 写道
monkeygreg 写道
林老师,我有一个ikqueryparser的问题一直很疑惑,今天做了个详细测试,您看能否给解释下。

对于文本:“技术牛人”。分词索引后进行检索。
我写了六个query表达式进行检索,主要用来测试不空格、空格、&&和||四个:

无关'('技术' '牛人')    有结果
无关'&&('技术' '牛人')  有结果
无关' ('技术' '牛人')   有结果
无关' ('技术'||'牛人')  有结果
无关'&&('技术'||'牛人') 无结果
无关'('技术'||'牛人')   无结果

可以看到括号里面我都想采用“或”的关系,括号外面1256句想用与的关系,34用或

照此逻辑,3456句的结果是正确的,12句却无法理解。请问林老师词与词的与或关系应如何表达。说明文档里只给了多域之间的与或逻辑的例子。


你的这些表达式对于IKQueryParser木有一个是合法的。不知道你做的是什么测试。
IKQueryParser与Lucene的QueryParser的表达式是不一样的。



文档里给出的例子是   id='1231' && (title:'文档标题'|| content:'内容') – author='helloworld'  下面也说支持&&||和括号逻辑。

是否是说这些符号只适用于多域的情况

另外,我列出6个表达式都漏掉了一开始的单引号,不知道您说的是不是这个非法,下面重新写一下,林老师赐教啦!

'无关'('技术' '牛人')   
'无关'&&('技术' '牛人') 
'无关' ('技术' '牛人')  
'无关' ('技术'||'牛人') 
'无关'&&('技术'||'牛人')
'无关'('技术'||'牛人')  
38 楼 linliangyi2007 2011-10-17  
monkeygreg 写道
林老师,我有一个ikqueryparser的问题一直很疑惑,今天做了个详细测试,您看能否给解释下。

对于文本:“技术牛人”。分词索引后进行检索。
我写了六个query表达式进行检索,主要用来测试不空格、空格、&&和||四个:

无关'('技术' '牛人')    有结果
无关'&&('技术' '牛人')  有结果
无关' ('技术' '牛人')   有结果
无关' ('技术'||'牛人')  有结果
无关'&&('技术'||'牛人') 无结果
无关'('技术'||'牛人')   无结果

可以看到括号里面我都想采用“或”的关系,括号外面1256句想用与的关系,34用或

照此逻辑,3456句的结果是正确的,12句却无法理解。请问林老师词与词的与或关系应如何表达。说明文档里只给了多域之间的与或逻辑的例子。


你的这些表达式对于IKQueryParser木有一个是合法的。不知道你做的是什么测试。
IKQueryParser与Lucene的QueryParser的表达式是不一样的。
37 楼 monkeygreg 2011-10-14  
林老师,我有一个ikqueryparser的问题一直很疑惑,今天做了个详细测试,您看能否给解释下。

对于文本:“技术牛人”。分词索引后进行检索。
我写了六个query表达式进行检索,主要用来测试不空格、空格、&&和||四个:

无关'('技术' '牛人')    有结果
无关'&&('技术' '牛人')  有结果
无关' ('技术' '牛人')   有结果
无关' ('技术'||'牛人')  有结果
无关'&&('技术'||'牛人') 无结果
无关'('技术'||'牛人')   无结果

可以看到括号里面我都想采用“或”的关系,括号外面1256句想用与的关系,34用或

照此逻辑,3456句的结果是正确的,12句却无法理解。请问林老师词与词的与或关系应如何表达。说明文档里只给了多域之间的与或逻辑的例子。
36 楼 linliangyi2007 2011-01-06  
wu_quanyin 写道
IKQueryParser里面有这个属性而且是静态的
private static boolean isMaxWordLength;
get...
set...

这不是会有线程问题?



没人告诉你IKQueryParser这个类是线程安全的啊!

实时上,这个类提供了一种默认的查询组合的逻辑实现。他并不能代替一个商用的搜索逻辑,包括你在信中提到的SHOULD。MUST问题。

说他是默认实现,是因为笔者任务MUST的逻辑对连续的文字序列而已跟适合,你如果不认同默认实现,你完全可以使用Lucene的Query接口构造自己的复杂业务。

IKQueryParser和Lucene自带的QueryParser一样,都只是一个简单工具类。

Lucene默认的Query方式不是也让很多用户感到不解~~

木有完美的东东啊~~尤其是分词这块~~需要你自己个性定制的东西很多,否则人人都可以做google了,呵呵


35 楼 wu_quanyin 2011-01-05  
IKQueryParser里面有这个属性而且是静态的
private static boolean isMaxWordLength;
get...
set...

这不是会有线程问题?
34 楼 亦梦亦真 2011-01-04  
林老师,您的这个框架我已经很仔细的学完了,而且感觉扩展性很强,我在这里加入了日文,韩文,德文等字库。但是现在我们的系统使用HDFS存储数据的,我想把创建的索引文件也放到HDFS上,可是总是行不通。我查了,网上有些朋友是将文件写到内存中,然后再放到HDFS上,下次添加索引的时候,再把它拿下来,添加上去再放上去,这样我觉得效率太低了。而直接实在那个HDFS文件系统的某个路径,却报出错误,是不是LUCENE还不能支持这个功能呢?
33 楼 linliangyi2007 2010-12-28  
yanxin64 写道
请教大家一个问题,怎么关联源码到jar包后,在eclipse打开,源码的中文注释都是乱码,有办法解决吗?



项目是使用UTF-8编码的,请检查你的eclipse的环境
32 楼 yanxin64 2010-12-28  
请教大家一个问题,怎么关联源码到jar包后,在eclipse打开,源码的中文注释都是乱码,有办法解决吗?
31 楼 lovit 2010-12-16  
文档中找到了。。不用了。谢谢!
30 楼 unkin 2010-12-16  
林良益出品,不顶不行。
29 楼 hcjhuanghe 2010-12-16  
请问ik如何在spring和compass环境中使用?
28 楼 abandoner2007 2010-12-15  
建议将:

     DictSegment 类中 hasNextNode() 方法改为:hasChildNode()
27 楼 laigood12345 2010-12-14  
linliangyi2007 写道
laigood12345 写道
请教一个问题,能不能不切分重复的字,比如输入中国中药,它切分为中国,国中,中药,怎么让它只输出中国,中药?就是分词后组合起来就是完整的输入语句,而不产生词语重叠。


目前IK不支持歧义排除功能。确切的说,分词器并不知道“中国中药”应该切成“中国”+“中药”还是“中”+“国中”+“药”更合理

谢谢,我再想想其它办法。
26 楼 linliangyi2007 2010-12-13  
laigood12345 写道
请教一个问题,能不能不切分重复的字,比如输入中国中药,它切分为中国,国中,中药,怎么让它只输出中国,中药?就是分词后组合起来就是完整的输入语句,而不产生词语重叠。


目前IK不支持歧义排除功能。确切的说,分词器并不知道“中国中药”应该切成“中国”+“中药”还是“中”+“国中”+“药”更合理
25 楼 laigood12345 2010-12-13  
请教一个问题,能不能不切分重复的字,比如输入中国中药,它切分为中国,国中,中药,怎么让它只输出中国,中药?就是分词后组合起来就是完整的输入语句,而不产生词语重叠。
24 楼 linliangyi2007 2010-11-28  
ljwan12 写道
像U盘、手机QQ等汉字和字母混合的词分不出来。。。。。


对于不同的字符集,IK采用不同的子分词器进行处理,因此不可能切分出混合词,“U盘”一定会切成“U + 盘”两个,手机QQ一定是“手机+QQ“ ,这个不影响搜索,但可能影响语义分析应用。

IK的侧重点在于搜索,如果做语义分析,可以使用smartcn分词
23 楼 ljwan12 2010-11-28  
像U盘、手机QQ等汉字和字母混合的词分不出来。。。。。
22 楼 shadowlin 2010-11-17  
linliangyi2007 写道
shadowlin 写道
问一个比较弱智的问题啊,如果我要看分词的结果,现在要怎么看呢?
以前的term.next似乎在3.0以后都没有掉了。



                        String t = "你要尝试切分的文本";  
			IKSegmentation ikSeg = new IKSegmentation(new StringReader(t) , false);
			try {
				Lexeme l = null;
				while( (l = ikSeg.next()) != null){
					System.out.println(l);
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}


谢谢啊

相关推荐

    IKAnalyzer3.2.5Stable.jar

    在标题中的"IKAnalyzer3.2.5Stable.jar"指的是该软件的特定版本,即3.2.5稳定版的Java档案文件(JAR)。这种格式的文件通常包含了IKAnalyzer的所有源代码、类文件和其他资源,使得用户可以直接引入到自己的项目中...

    IKAnalyzer3.2.5Stable

    IKAnalyzer 非常不错的分词器,JAVA版本

    IKAnalyzer3.2.5Stable_bin.zip中文分词

    2. **IKAnalyzer3.2.5Stable.jar**:这是IKAnalyzer的核心库文件,包含了所有必需的类和方法,用于实现分词功能。开发者可以通过导入这个JAR包,在自己的项目中使用IKAnalyzer。 3. **IKAnalyzer中文分词器V3.2.3...

    lucene3.5 IKAnalyzer3.2.5 实例中文分词通过

    lucene3.5 IKAnalyzer3.2.5 实例中文分词通过,目前在网上找的lucene 和IKAnalyzer 的最新版本测试通过。内含:示例代码,以及最新jar包。 lucene lucene3.5 IKAnalyzer IKAnalyzer3.2.5 jar 中文 分词

    IKAnalyzer 支持高版本最新Lucene 5.x、6.x、7.x

    总之,IKAnalyzer作为一款强大的中文分词器,能够很好地适应Lucene的各个高版本,提供稳定、高效的分词服务。无论是用于Lucene的原生应用,还是在Solr这样的搜索服务器中,它都是处理中文文本的理想选择。随着技术的...

    Lucene的IK Analyzer 3.0 中文分词器 全解

    自2006年12月发布1.0版以来,IK Analyzer 经历了多次升级,3.0版已演变为独立于 Lucene 的通用分词组件,同时也为 Lucene 提供了优化的集成。 1. **IK Analyzer 3.0 结构设计** - IK Analyzer 3.0 的设计旨在提高...

    IKAnalyzer中文分词器支持Lucene6.0以上

    提示:IKAnalyzer中文分词器支持Lucene6.0以上,IKAnalyzer中文分词器支持Lucene6.0以上。

    中文分词库 IKAnalyzer For Lucene 5.2.1(适用Lucene 5.2.1)

    IKAnalyzer 是一个专门为 Lucene 设计的开源中文分词库,它在中文处理领域有着广泛的应用。这个版本的 IKAnalyzer 特别适用于 Lucene 5.2.1,这意味着它与该版本的 Lucene 兼容性极佳,能够提供高效、准确的中文分词...

    ikanalyzer中文分词支持lucene7.1.0

    总的来说,ikanalyzer中文分词支持lucene7.1.0是为了解决旧版ikanalyzer与新Lucene版本的兼容性问题而推出的,它使得开发者能够充分利用Lucene的最新特性,同时保持ikanalyzer的优秀分词性能,对于处理中文内容的...

    IKAnalyzer 支持高版本Lucene 6.x及以上

    来自牛人修改的IKAnalyzer,https://github.com/sea-boat/IKAnalyzer-Mirror,亲测Lucene7.2可用

    IKAnalyzer中文分词支持lucene6.5.0版本

    由于林良益先生在2012之后未对IKAnalyzer进行更新,后续lucene分词接口发生变化,导致不可使用,所以此jar包支持lucene6.0以上版本

    IKanalyzer2012修复与Lucene3.6.2Jar及IK使用示例

    标题中的“IKanalyzer2012修复与Lucene3.6.2Jar及IK使用示例”指的是一项关于优化IKAnalyzer2012版本的活动,这是一款流行的中文分词器,常用于Java环境下的信息检索和文本分析。Lucene3.6.2Jar则是Apache Lucene的...

    Lucene4.7+IK Analyzer中文分词入门教程

    【Lucene4.7+IK Analyzer中文分词入门教程】 Lucene是一个开源的全文检索库,它提供了文本分析、索引和搜索的核心工具。在这个入门教程中,我们将使用Lucene 4.7版本,结合IK Analyzer,一个专门针对中文分词的开源...

    IKAnalyzer3.2(稳定版)分词

    IKAnalyzer3.2是中文分词工具的一个稳定版本,它主要设计用于提高中文文本处理的效率和准确性。分词在信息检索、自然语言处理、文本挖掘等领域扮演着至关重要的角色,因为它是理解中文文本基础的第一步。IKAnalyzer...

    IKAnalyzer2012_u6和lucene-core-3.6.0

    IKAnalyzer2012_u6和lucene-core-3.6.0两个jar包,互相兼容。ik分词的使用方法可以转https://blog.csdn.net/fr961951149/article/details/98736002。

    lucene的IKAnalyzer以及兼容4.3

    IKAnalyzer会定期发布新版本,以适配最新版的Lucene。 2. **修改代码**:检查并修改项目中涉及Lucene API的部分,以适应新版本的API变化。 3. **使用桥接类**:有时,开发者可以利用Lucene提供的桥接类来兼容旧版...

    lucene 所有jar包 包含IKAnalyzer分词器

    在提供的文件中,我们看到了`IKAnalyzer3.2.5Stable.jar`和`IKAnalyzer2012_u6.jar`两个版本,它们都是IKAnalyzer的不同迭代版本,分别对应不同的优化和改进。IKAnalyzer支持用户自定义词典,能够较好地处理现代汉语...

    模糊查询-lucene-IKAnalyzer

    本话题主要探讨的是在Java 1.5环境下,如何利用Lucene 3.0.1版本和IKAnalyzer 3.2来实现模糊查询的功能。Lucene是一个高性能、全文本搜索库,而IKAnalyzer是一个专门针对中文分词的开源分析器,它们的结合能够有效地...

Global site tag (gtag.js) - Google Analytics