- 浏览: 1012582 次
- 性别:
- 来自: 福州
最新评论
-
guanxin2012:
大神,您好。非常感谢您贡献了IKExpression。我们现在 ...
分享开源表达式解析器IK-Expression2.0 -
qqgigas:
LZ,public boolean createUser(LD ...
Sun Directory Server/LDAP学习笔记(二)——API说明及代码样例 -
gao_shengxian:
Hibernate: update T_GX_TEST set ...
优雅Java编程 之 使用Hibernate存储Oracle Spatial对象 -
a78113534:
感谢大神,在安卓里面调用成功了。
发布IK Expression开源表达式解析器 V2.1.0 -
majiedota:
加油
来自开源支持者的第一笔捐赠
新版本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源码包
'无关'&&('技术' '牛人')
'无关' ('技术' '牛人')
'无关' ('技术'||'牛人')
'无关'&&('技术'||'牛人')
'无关'('技术'||'牛人')
查询关键字之间都必须有逻辑操作符,'无关'('技术'||'牛人') 这种就是非法的,‘无关’后面没有&&或者||是什么意思?
我以为中间没有空格就表示与的关系,比如'技术牛人'解析成'技术'&&'牛人'
另外空格是不是表示||的关系呢,如果那样的话
'无关'&&('技术' '牛人') 有结果
'无关'&&('技术'||'牛人') 无结果
这两个测试为什么会出现不同的结果呢
'无关'&&('技术' '牛人')
'无关' ('技术' '牛人')
'无关' ('技术'||'牛人')
'无关'&&('技术'||'牛人')
'无关'('技术'||'牛人')
查询关键字之间都必须有逻辑操作符,'无关'('技术'||'牛人') 这种就是非法的,‘无关’后面没有&&或者||是什么意思?
你的这些表达式对于IKQueryParser木有一个是合法的。不知道你做的是什么测试。
IKQueryParser与Lucene的QueryParser的表达式是不一样的。
文档里给出的例子是 id='1231' && (title:'文档标题'|| content:'内容') – author='helloworld' 下面也说支持&&||和括号逻辑。
是否是说这些符号只适用于多域的情况
另外,我列出6个表达式都漏掉了一开始的单引号,不知道您说的是不是这个非法,下面重新写一下,林老师赐教啦!
'无关'('技术' '牛人')
'无关'&&('技术' '牛人')
'无关' ('技术' '牛人')
'无关' ('技术'||'牛人')
'无关'&&('技术'||'牛人')
'无关'('技术'||'牛人')
你的这些表达式对于IKQueryParser木有一个是合法的。不知道你做的是什么测试。
IKQueryParser与Lucene的QueryParser的表达式是不一样的。
没人告诉你IKQueryParser这个类是线程安全的啊!
实时上,这个类提供了一种默认的查询组合的逻辑实现。他并不能代替一个商用的搜索逻辑,包括你在信中提到的SHOULD。MUST问题。
说他是默认实现,是因为笔者任务MUST的逻辑对连续的文字序列而已跟适合,你如果不认同默认实现,你完全可以使用Lucene的Query接口构造自己的复杂业务。
IKQueryParser和Lucene自带的QueryParser一样,都只是一个简单工具类。
Lucene默认的Query方式不是也让很多用户感到不解~~
木有完美的东东啊~~尤其是分词这块~~需要你自己个性定制的东西很多,否则人人都可以做google了,呵呵
项目是使用UTF-8编码的,请检查你的eclipse的环境
目前IK不支持歧义排除功能。确切的说,分词器并不知道“中国中药”应该切成“中国”+“中药”还是“中”+“国中”+“药”更合理
谢谢,我再想想其它办法。
目前IK不支持歧义排除功能。确切的说,分词器并不知道“中国中药”应该切成“中国”+“中药”还是“中”+“国中”+“药”更合理
对于不同的字符集,IK采用不同的子分词器进行处理,因此不可能切分出混合词,“U盘”一定会切成“U + 盘”两个,手机QQ一定是“手机+QQ“ ,这个不影响搜索,但可能影响语义分析应用。
IK的侧重点在于搜索,如果做语义分析,可以使用smartcn分词
谢谢啊
地址: 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句却无法理解。请问林老师词与词的与或关系应如何表达。说明文档里只给了多域之间的与或逻辑的例子。
对于文本:“技术牛人”。分词索引后进行检索。
我写了六个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句却无法理解。请问林老师词与词的与或关系应如何表达。说明文档里只给了多域之间的与或逻辑的例子。
对于文本:“技术牛人”。分词索引后进行检索。
我写了六个query表达式进行检索,主要用来测试不空格、空格、&&和||四个:
无关'('技术' '牛人') 有结果
无关'&&('技术' '牛人') 有结果
无关' ('技术' '牛人') 有结果
无关' ('技术'||'牛人') 有结果
无关'&&('技术'||'牛人') 无结果
无关'('技术'||'牛人') 无结果
可以看到括号里面我都想采用“或”的关系,括号外面1256句想用与的关系,34用或
照此逻辑,3456句的结果是正确的,12句却无法理解。请问林老师词与词的与或关系应如何表达。说明文档里只给了多域之间的与或逻辑的例子。
你的这些表达式对于IKQueryParser木有一个是合法的。不知道你做的是什么测试。
IKQueryParser与Lucene的QueryParser的表达式是不一样的。
37 楼
monkeygreg
2011-10-14
林老师,我有一个ikqueryparser的问题一直很疑惑,今天做了个详细测试,您看能否给解释下。
对于文本:“技术牛人”。分词索引后进行检索。
我写了六个query表达式进行检索,主要用来测试不空格、空格、&&和||四个:
无关'('技术' '牛人') 有结果
无关'&&('技术' '牛人') 有结果
无关' ('技术' '牛人') 有结果
无关' ('技术'||'牛人') 有结果
无关'&&('技术'||'牛人') 无结果
无关'('技术'||'牛人') 无结果
可以看到括号里面我都想采用“或”的关系,括号外面1256句想用与的关系,34用或
照此逻辑,3456句的结果是正确的,12句却无法理解。请问林老师词与词的与或关系应如何表达。说明文档里只给了多域之间的与或逻辑的例子。
对于文本:“技术牛人”。分词索引后进行检索。
我写了六个query表达式进行检索,主要用来测试不空格、空格、&&和||四个:
无关'('技术' '牛人') 有结果
无关'&&('技术' '牛人') 有结果
无关' ('技术' '牛人') 有结果
无关' ('技术'||'牛人') 有结果
无关'&&('技术'||'牛人') 无结果
无关'('技术'||'牛人') 无结果
可以看到括号里面我都想采用“或”的关系,括号外面1256句想用与的关系,34用或
照此逻辑,3456句的结果是正确的,12句却无法理解。请问林老师词与词的与或关系应如何表达。说明文档里只给了多域之间的与或逻辑的例子。
36 楼
linliangyi2007
2011-01-06
wu_quanyin 写道
IKQueryParser里面有这个属性而且是静态的
private static boolean isMaxWordLength;
get...
set...
这不是会有线程问题?
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...
这不是会有线程问题?
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()
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以后都没有掉了。
以前的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(); }
谢谢啊
发表评论
-
来自开源支持者的第一笔捐赠
2013-01-09 21:15 57772013年1月9号,一个平凡而又不平常的日子! IK中文分词 ... -
发布 IK Analyzer 2012 FF 版本
2012-10-23 17:50 25072首先感谢大家对IK分词器的关注。 最近一段时间正式公司事务最 ... -
发布 IK Analyzer 2012 版本
2012-03-08 11:23 36162新版本改进: 支持分词歧义处理 支持数量词合并 词典支持中英 ... -
CSDN发生严重用户账号泄密事件
2011-12-21 19:21 2564之前有在CSDN注册过的兄弟们,注意了。。。 如果你的邮箱, ... -
一个隐形的java int溢出
2011-08-30 09:44 7555故事的背景: 笔者最近在做一个类SNS的项目,其中 ... -
雷军 :互联网创业的葵花宝典
2011-05-04 10:35 3593博主评: 这片博客很短 ... -
Luci-mint站内搜索实测
2011-04-02 16:18 4134关于Luci-mint 服务器硬 ... -
发布 IK Analyzer 3.2.8 for Lucene3.X
2011-03-04 17:49 14251IK Analyzer 3.2.8版本修订 ... -
TIPS - XML CDATA中的非法字符处理
2011-02-17 15:03 3301XML解析过程中,常遇见CDATA中存在非法字符,尤其在火星文 ... -
对Cassandra的初体验
2010-10-13 17:58 9132作为“云计算”时代的架构设计人员而言,不懂K-V库会被 ... -
Spring + iBatis 的多库横向切分简易解决思路
2010-10-11 13:43 93541.引言 笔者最近在做一个互联网的“类SNS”应用,应用 ... -
关于Lucene3.0.1 QueryParser的一个错误
2010-05-21 21:33 2128表达式1: 引用 id:"1231231" ... -
发布 IK Analyzer 3.2.3 稳定版 for Lucene3.0
2010-05-15 14:13 6715IK Analyzer 3.2.3版本修订 在3.2.0版 ... -
windows平台上的nginx使用
2010-01-28 17:13 3401转载自:http://nginx.org/en/docs/wi ... -
发布IKAnnlyzer3.2.0稳定版 for Lucene3.0
2009-12-07 09:27 9572最新3.2.5版本已经推出,http://linliangyi ... -
在Tomcat下以JNDI方式发布JbossCache
2009-12-04 10:57 3827前言: 看过JbossCache的开发手册,发现在Jb ... -
Spring AOP小例子
2009-11-16 10:35 3403PS: 要注明一下,这个是转载滴,之前漏了说鸟,汗死 这里给 ... -
ActiveMQ 5.X 与 Tomcat 集成一(JNDI部署)
2009-11-10 15:15 5648原文地址:http://activemq.apache.org ... -
发布IKAnalyzer中文分词器V3.1.6GA
2009-11-08 23:10 11854IKAnalyzer3.2.0稳定版已经发布,支持Lucene ... -
设计模式感悟
2009-11-07 17:57 3696最近又把以前学习的模式过了一遍,感觉模式不是学出来的,是悟出来 ...
相关推荐
在标题中的"IKAnalyzer3.2.5Stable.jar"指的是该软件的特定版本,即3.2.5稳定版的Java档案文件(JAR)。这种格式的文件通常包含了IKAnalyzer的所有源代码、类文件和其他资源,使得用户可以直接引入到自己的项目中...
IKAnalyzer 非常不错的分词器,JAVA版本
2. **IKAnalyzer3.2.5Stable.jar**:这是IKAnalyzer的核心库文件,包含了所有必需的类和方法,用于实现分词功能。开发者可以通过导入这个JAR包,在自己的项目中使用IKAnalyzer。 3. **IKAnalyzer中文分词器V3.2.3...
lucene3.5 IKAnalyzer3.2.5 实例中文分词通过,目前在网上找的lucene 和IKAnalyzer 的最新版本测试通过。内含:示例代码,以及最新jar包。 lucene lucene3.5 IKAnalyzer IKAnalyzer3.2.5 jar 中文 分词
总之,IKAnalyzer作为一款强大的中文分词器,能够很好地适应Lucene的各个高版本,提供稳定、高效的分词服务。无论是用于Lucene的原生应用,还是在Solr这样的搜索服务器中,它都是处理中文文本的理想选择。随着技术的...
自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 是一个专门为 Lucene 设计的开源中文分词库,它在中文处理领域有着广泛的应用。这个版本的 IKAnalyzer 特别适用于 Lucene 5.2.1,这意味着它与该版本的 Lucene 兼容性极佳,能够提供高效、准确的中文分词...
总的来说,ikanalyzer中文分词支持lucene7.1.0是为了解决旧版ikanalyzer与新Lucene版本的兼容性问题而推出的,它使得开发者能够充分利用Lucene的最新特性,同时保持ikanalyzer的优秀分词性能,对于处理中文内容的...
来自牛人修改的IKAnalyzer,https://github.com/sea-boat/IKAnalyzer-Mirror,亲测Lucene7.2可用
由于林良益先生在2012之后未对IKAnalyzer进行更新,后续lucene分词接口发生变化,导致不可使用,所以此jar包支持lucene6.0以上版本
标题中的“IKanalyzer2012修复与Lucene3.6.2Jar及IK使用示例”指的是一项关于优化IKAnalyzer2012版本的活动,这是一款流行的中文分词器,常用于Java环境下的信息检索和文本分析。Lucene3.6.2Jar则是Apache Lucene的...
【Lucene4.7+IK Analyzer中文分词入门教程】 Lucene是一个开源的全文检索库,它提供了文本分析、索引和搜索的核心工具。在这个入门教程中,我们将使用Lucene 4.7版本,结合IK Analyzer,一个专门针对中文分词的开源...
IKAnalyzer3.2是中文分词工具的一个稳定版本,它主要设计用于提高中文文本处理的效率和准确性。分词在信息检索、自然语言处理、文本挖掘等领域扮演着至关重要的角色,因为它是理解中文文本基础的第一步。IKAnalyzer...
IKAnalyzer2012_u6和lucene-core-3.6.0两个jar包,互相兼容。ik分词的使用方法可以转https://blog.csdn.net/fr961951149/article/details/98736002。
IKAnalyzer会定期发布新版本,以适配最新版的Lucene。 2. **修改代码**:检查并修改项目中涉及Lucene API的部分,以适应新版本的API变化。 3. **使用桥接类**:有时,开发者可以利用Lucene提供的桥接类来兼容旧版...
在提供的文件中,我们看到了`IKAnalyzer3.2.5Stable.jar`和`IKAnalyzer2012_u6.jar`两个版本,它们都是IKAnalyzer的不同迭代版本,分别对应不同的优化和改进。IKAnalyzer支持用户自定义词典,能够较好地处理现代汉语...
本话题主要探讨的是在Java 1.5环境下,如何利用Lucene 3.0.1版本和IKAnalyzer 3.2来实现模糊查询的功能。Lucene是一个高性能、全文本搜索库,而IKAnalyzer是一个专门针对中文分词的开源分析器,它们的结合能够有效地...