- 浏览: 1009757 次
- 性别:
- 来自: 福州
最新评论
-
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 57592013年1月9号,一个平凡而又不平常的日子! IK中文分词 ... -
发布 IK Analyzer 2012 FF 版本
2012-10-23 17:50 24955首先感谢大家对IK分词器的关注。 最近一段时间正式公司事务最 ... -
发布 IK Analyzer 2012 版本
2012-03-08 11:23 36011新版本改进: 支持分词歧义处理 支持数量词合并 词典支持中英 ... -
CSDN发生严重用户账号泄密事件
2011-12-21 19:21 2551之前有在CSDN注册过的兄弟们,注意了。。。 如果你的邮箱, ... -
一个隐形的java int溢出
2011-08-30 09:44 7547故事的背景: 笔者最近在做一个类SNS的项目,其中 ... -
雷军 :互联网创业的葵花宝典
2011-05-04 10:35 3584博主评: 这片博客很短 ... -
Luci-mint站内搜索实测
2011-04-02 16:18 4104关于Luci-mint 服务器硬 ... -
发布 IK Analyzer 3.2.8 for Lucene3.X
2011-03-04 17:49 14197IK Analyzer 3.2.8版本修订 ... -
TIPS - XML CDATA中的非法字符处理
2011-02-17 15:03 3285XML解析过程中,常遇见CDATA中存在非法字符,尤其在火星文 ... -
对Cassandra的初体验
2010-10-13 17:58 9061作为“云计算”时代的架构设计人员而言,不懂K-V库会被 ... -
Spring + iBatis 的多库横向切分简易解决思路
2010-10-11 13:43 93241.引言 笔者最近在做一个互联网的“类SNS”应用,应用 ... -
关于Lucene3.0.1 QueryParser的一个错误
2010-05-21 21:33 2113表达式1: 引用 id:"1231231" ... -
发布 IK Analyzer 3.2.3 稳定版 for Lucene3.0
2010-05-15 14:13 6682IK Analyzer 3.2.3版本修订 在3.2.0版 ... -
windows平台上的nginx使用
2010-01-28 17:13 3390转载自:http://nginx.org/en/docs/wi ... -
发布IKAnnlyzer3.2.0稳定版 for Lucene3.0
2009-12-07 09:27 9541最新3.2.5版本已经推出,http://linliangyi ... -
在Tomcat下以JNDI方式发布JbossCache
2009-12-04 10:57 3813前言: 看过JbossCache的开发手册,发现在Jb ... -
Spring AOP小例子
2009-11-16 10:35 3392PS: 要注明一下,这个是转载滴,之前漏了说鸟,汗死 这里给 ... -
ActiveMQ 5.X 与 Tomcat 集成一(JNDI部署)
2009-11-10 15:15 5635原文地址:http://activemq.apache.org ... -
发布IKAnalyzer中文分词器V3.1.6GA
2009-11-08 23:10 11806IKAnalyzer3.2.0稳定版已经发布,支持Lucene ... -
设计模式感悟
2009-11-07 17:57 3686最近又把以前学习的模式过了一遍,感觉模式不是学出来的,是悟出来 ...
相关推荐
lucene3.5 IKAnalyzer3.2.5 实例中文分词通过,目前在网上找的lucene 和IKAnalyzer 的最新版本测试通过。内含:示例代码,以及最新jar包。 lucene lucene3.5 IKAnalyzer IKAnalyzer3.2.5 jar 中文 分词
在提供的文件中,我们看到了`IKAnalyzer3.2.5Stable.jar`和`IKAnalyzer2012_u6.jar`两个版本,它们都是IKAnalyzer的不同迭代版本,分别对应不同的优化和改进。IKAnalyzer支持用户自定义词典,能够较好地处理现代汉语...
这里提供的版本是**IKAnalyzer3.2.5 Stable**,"Stable"表示这是一个稳定版,适合在生产环境中使用。包含两个压缩包: 1. **IKAnalyzer3.2.5Stable_bin.zip**:这是二进制包,包含了编译后的库文件,包括jar包和...
在标题和描述中提到了三个重要的Java库:PDFBox、Lucene和IKAnalyzer3.2.5,这些都是Java开发中的常用工具。 1. **PDFBox**: PDFBox是Apache软件基金会的一个开源项目,专门用于处理PDF文档。它提供了API来创建、...
IKAnalyzer是基于Java的中文分词器,`IKAnalyzer3.2.5Stable.jar`是其稳定版本。它能够有效地进行中文词汇切分,适用于搜索引擎、信息检索、文本挖掘等领域。IKAnalyzer支持自定义词典和热更新,使得开发者可以根据...