- 浏览: 1012935 次
- 性别:
- 来自: 福州
最新评论
-
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:
加油
来自开源支持者的第一笔捐赠
2013年1月9号,一个平凡而又不平常的日子!
IK中文分词开源项目在历经六个年头的发展,迈入第七个年头时,迎来的它的第一笔捐赠!
感谢来自广州的热心支持者Andy!!!作为一名开源项目的个人用户及捐赠者,您的慷慨善举
对于IK,甚至对于广大的国内开源项目的发起者而言,都是莫大的肯定与鼓舞!!
笔者本人并不清楚国内(个人发起的)开源项目中有多少是已经得到捐赠的。国内的开源用户
群体中,又有多少是曾经给予过您使用的开源项目以捐赠的。
写这个博客的目的就是在告诉大家,我们为之期待和努力的开源社区氛围正在形成,一切都在
悄然改变。有志于开源的兄弟姐妹们,行动起来吧!!不论你们是用户,还是项目发起者,你
们的每一点支持和付出,终将积沙成塔,积水成海!!
也许在不久的将来,我们就能看到一个生机勃勃的春天.....
http://blog.csdn.net/liugang51096557/article/details/9291331
非常感谢,你反馈的问题。我会将您的代码加入下个版本的发布包!!感谢对IK的支持
是的,Andy就是通过支付宝账号(linliangyi2005@gmail.com)捐赠的,哈哈
IK中文分词开源项目在历经六个年头的发展,迈入第七个年头时,迎来的它的第一笔捐赠!
感谢来自广州的热心支持者Andy!!!作为一名开源项目的个人用户及捐赠者,您的慷慨善举
对于IK,甚至对于广大的国内开源项目的发起者而言,都是莫大的肯定与鼓舞!!
笔者本人并不清楚国内(个人发起的)开源项目中有多少是已经得到捐赠的。国内的开源用户
群体中,又有多少是曾经给予过您使用的开源项目以捐赠的。
写这个博客的目的就是在告诉大家,我们为之期待和努力的开源社区氛围正在形成,一切都在
悄然改变。有志于开源的兄弟姐妹们,行动起来吧!!不论你们是用户,还是项目发起者,你
们的每一点支持和付出,终将积沙成塔,积水成海!!
也许在不久的将来,我们就能看到一个生机勃勃的春天.....
评论
17 楼
majiedota
2015-07-01
加油
16 楼
gibberish2
2014-12-15
我特意进来赞一下作者!
15 楼
亦梦亦真
2013-10-17
发现一个很奇怪的问题,当我需要给一个文件名进行分词时,如果是“测试文件.rar”时,它会分成 测试 文件 .rar 但是如果是英文的“test.rar" 则不会分词,这个结果依然是test.rar 这是为什么呢?是IK分词的问题还是本身lucene的问题呢?
14 楼
rubricate
2013-07-10
rubricate 写道
你好,感谢你的贡献,我对你的分词做了修改,是它支持了分词后的汉字转换成拼音和首字母,介绍在这里http://blog.csdn.net/liugang51096557/article/d[url]etails/9291331
http://blog.csdn.net/liugang51096557/article/details/9291331
13 楼
rubricate
2013-07-10
你好,感谢你的贡献,我对你的分词做了修改,是它支持了分词后的汉字转换成拼音和首字母,介绍在这里http://blog.csdn.net/liugang51096557/article/details/9291331
12 楼
dandongsoft
2013-06-18
solr in action 这本书有中文的吗
11 楼
淫笑琪
2013-06-14
6年过去了。。才一笔捐赠,连50都达不到吧。。这是讽刺嘛?
10 楼
biy
2013-05-10
恭喜!~~
9 楼
dandongsoft
2013-03-08
TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs TopDocs
8 楼
Iloseyou
2013-01-28
林老师 提前祝你和家人新年快乐
7 楼
linliangyi2007
2013-01-11
snakeling 写道
给你反馈个bug(已修复)
这两天为了搞定这个bug我把lucene4.0的analyzer接口文档全看了一遍……
精确短语检索在现有版本上一直不能用,因为你接口没掉对。
现在将IKTokenizer改为以下模样精确短语检索就能用了。
这两天为了搞定这个bug我把lucene4.0的analyzer接口文档全看了一遍……
精确短语检索在现有版本上一直不能用,因为你接口没掉对。
现在将IKTokenizer改为以下模样精确短语检索就能用了。
/** * IK 中文分词 版本 5.0.1 * IK Analyzer release 5.0.1 * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * 源代码由林良益(linliangyi2005@gmail.com)提供 * 版权声明 2012,乌龙茶工作室 * provided by Linliangyi and copyright 2012 by Oolong studio * * */ package org.wltea.analyzer.lucene; import java.io.IOException; import java.io.Reader; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute; import org.apache.lucene.analysis.tokenattributes.TypeAttribute; import org.wltea.analyzer.core.IKSegmenter; import org.wltea.analyzer.core.Lexeme; /** * IK分词器 Lucene Tokenizer适配器类 * 兼容Lucene 4.0版本 */ public final class IKTokenizer extends Tokenizer { //IK分词器实现 private IKSegmenter _IKImplement; //词元文本属性 private final CharTermAttribute termAtt; //词元位移属性 private final OffsetAttribute offsetAtt; //词元分类属性(该属性分类参考org.wltea.analyzer.core.Lexeme中的分类常量) private final TypeAttribute typeAtt; //记录最后一个词元的结束位置 private int endPosition; //设置term跨position范围,用于短语检索 ——by snakeling private final PositionLengthAttribute posLenAtt; //这是position用于lucene短语检索 ——by snakeling private final PositionIncrementAttribute posIncAtt; //上一个词的开始位置 ——by snakeling private int lastBeginePosition; //第一个term要特殊处理 private boolean bFirstTerm; /** * Lucene 4.0 Tokenizer适配器类构造函数 * @param in * @param useSmart */ public IKTokenizer(Reader in , boolean useSmart){ super(in); offsetAtt = addAttribute(OffsetAttribute.class); termAtt = addAttribute(CharTermAttribute.class); typeAtt = addAttribute(TypeAttribute.class); posLenAtt = addAttribute(PositionLengthAttribute.class); posIncAtt = addAttribute(PositionIncrementAttribute.class); _IKImplement = new IKSegmenter(input , useSmart); } /* (non-Javadoc) * @see org.apache.lucene.analysis.TokenStream#incrementToken() */ @Override public boolean incrementToken() throws IOException { //清除所有的词元属性 clearAttributes(); Lexeme nextLexeme = _IKImplement.next(); if(nextLexeme != null){ //将Lexeme转成Attributes //设置词元文本 termAtt.append(nextLexeme.getLexemeText()); //设置词元长度 termAtt.setLength(nextLexeme.getLength()); //设置词元位移-----几乎没用,lucene默认配置不保存offset。——by snakeling offsetAtt.setOffset(nextLexeme.getBeginPosition(), nextLexeme.getEndPosition()); //记录分词的最后位置 endPosition = nextLexeme.getEndPosition(); //记录词元分类 typeAtt.setType(nextLexeme.getLexemeTypeString()); //配置term的position信息,这个才是拿来做短语检索的,上面那个offset几乎没用,lucene默认配置不保存offset。 ——by snakeling if(bFirstTerm){ posIncAtt.setPositionIncrement(1); posLenAtt.setPositionLength(nextLexeme.getLength()); bFirstTerm = false; }else{ posIncAtt.setPositionIncrement(nextLexeme.getBeginPosition() - lastBeginePosition); posLenAtt.setPositionLength(nextLexeme.getLength()); } lastBeginePosition = nextLexeme.getBeginPosition(); //返会true告知还有下个词元 return true; } //返会false告知词元输出完毕 return false; } /* * (non-Javadoc) * @see org.apache.lucene.analysis.Tokenizer#reset(java.io.Reader) */ @Override public void reset() throws IOException { super.reset(); _IKImplement.reset(input); bFirstTerm = true; //——by snakeling lastBeginePosition = 0; //——by snakeling } @Override public final void end() { // set final offset int finalOffset = correctOffset(this.endPosition); offsetAtt.setOffset(finalOffset, finalOffset); } }
非常感谢,你反馈的问题。我会将您的代码加入下个版本的发布包!!感谢对IK的支持
6 楼
linliangyi2007
2013-01-11
remoteJavaSky 写道
这个让人兴奋哈
如果我用到国内开源项目,觉得不错,我会donate的,当然支付宝最好,我没其它在线支付了
如果我用到国内开源项目,觉得不错,我会donate的,当然支付宝最好,我没其它在线支付了
是的,Andy就是通过支付宝账号(linliangyi2005@gmail.com)捐赠的,哈哈
5 楼
sharewind
2013-01-10
恭喜恭喜!
4 楼
snakeling
2013-01-10
有问题可以练习我~
snakedling@gmail.com
snakedling@gmail.com
3 楼
snakeling
2013-01-10
给你反馈个bug(已修复)
这两天为了搞定这个bug我把lucene4.0的analyzer接口文档全看了一遍……
精确短语检索在现有版本上一直不能用,因为你接口没掉对。
现在将IKTokenizer改为以下模样精确短语检索就能用了。
这两天为了搞定这个bug我把lucene4.0的analyzer接口文档全看了一遍……
精确短语检索在现有版本上一直不能用,因为你接口没掉对。
现在将IKTokenizer改为以下模样精确短语检索就能用了。
/** * IK 中文分词 版本 5.0.1 * IK Analyzer release 5.0.1 * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * 源代码由林良益(linliangyi2005@gmail.com)提供 * 版权声明 2012,乌龙茶工作室 * provided by Linliangyi and copyright 2012 by Oolong studio * * */ package org.wltea.analyzer.lucene; import java.io.IOException; import java.io.Reader; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute; import org.apache.lucene.analysis.tokenattributes.PositionLengthAttribute; import org.apache.lucene.analysis.tokenattributes.TypeAttribute; import org.wltea.analyzer.core.IKSegmenter; import org.wltea.analyzer.core.Lexeme; /** * IK分词器 Lucene Tokenizer适配器类 * 兼容Lucene 4.0版本 */ public final class IKTokenizer extends Tokenizer { //IK分词器实现 private IKSegmenter _IKImplement; //词元文本属性 private final CharTermAttribute termAtt; //词元位移属性 private final OffsetAttribute offsetAtt; //词元分类属性(该属性分类参考org.wltea.analyzer.core.Lexeme中的分类常量) private final TypeAttribute typeAtt; //记录最后一个词元的结束位置 private int endPosition; //设置term跨position范围,用于短语检索 ——by snakeling private final PositionLengthAttribute posLenAtt; //这是position用于lucene短语检索 ——by snakeling private final PositionIncrementAttribute posIncAtt; //上一个词的开始位置 ——by snakeling private int lastBeginePosition; //第一个term要特殊处理 private boolean bFirstTerm; /** * Lucene 4.0 Tokenizer适配器类构造函数 * @param in * @param useSmart */ public IKTokenizer(Reader in , boolean useSmart){ super(in); offsetAtt = addAttribute(OffsetAttribute.class); termAtt = addAttribute(CharTermAttribute.class); typeAtt = addAttribute(TypeAttribute.class); posLenAtt = addAttribute(PositionLengthAttribute.class); posIncAtt = addAttribute(PositionIncrementAttribute.class); _IKImplement = new IKSegmenter(input , useSmart); } /* (non-Javadoc) * @see org.apache.lucene.analysis.TokenStream#incrementToken() */ @Override public boolean incrementToken() throws IOException { //清除所有的词元属性 clearAttributes(); Lexeme nextLexeme = _IKImplement.next(); if(nextLexeme != null){ //将Lexeme转成Attributes //设置词元文本 termAtt.append(nextLexeme.getLexemeText()); //设置词元长度 termAtt.setLength(nextLexeme.getLength()); //设置词元位移-----几乎没用,lucene默认配置不保存offset。——by snakeling offsetAtt.setOffset(nextLexeme.getBeginPosition(), nextLexeme.getEndPosition()); //记录分词的最后位置 endPosition = nextLexeme.getEndPosition(); //记录词元分类 typeAtt.setType(nextLexeme.getLexemeTypeString()); //配置term的position信息,这个才是拿来做短语检索的,上面那个offset几乎没用,lucene默认配置不保存offset。 ——by snakeling if(bFirstTerm){ posIncAtt.setPositionIncrement(1); posLenAtt.setPositionLength(nextLexeme.getLength()); bFirstTerm = false; }else{ posIncAtt.setPositionIncrement(nextLexeme.getBeginPosition() - lastBeginePosition); posLenAtt.setPositionLength(nextLexeme.getLength()); } lastBeginePosition = nextLexeme.getBeginPosition(); //返会true告知还有下个词元 return true; } //返会false告知词元输出完毕 return false; } /* * (non-Javadoc) * @see org.apache.lucene.analysis.Tokenizer#reset(java.io.Reader) */ @Override public void reset() throws IOException { super.reset(); _IKImplement.reset(input); bFirstTerm = true; //——by snakeling lastBeginePosition = 0; //——by snakeling } @Override public final void end() { // set final offset int finalOffset = correctOffset(this.endPosition); offsetAtt.setOffset(finalOffset, finalOffset); } }
2 楼
whiletrue
2013-01-10
恭喜恭喜!
1 楼
remoteJavaSky
2013-01-10
这个让人兴奋哈
如果我用到国内开源项目,觉得不错,我会donate的,当然支付宝最好,我没其它在线支付了
如果我用到国内开源项目,觉得不错,我会donate的,当然支付宝最好,我没其它在线支付了
发表评论
-
发布 IK Analyzer 2012 FF 版本
2012-10-23 17:50 25080首先感谢大家对IK分词器的关注。 最近一段时间正式公司事务最 ... -
发布 IK Analyzer 2012 版本
2012-03-08 11:23 36176新版本改进: 支持分词歧义处理 支持数量词合并 词典支持中英 ... -
CSDN发生严重用户账号泄密事件
2011-12-21 19:21 2565之前有在CSDN注册过的兄弟们,注意了。。。 如果你的邮箱, ... -
一个隐形的java int溢出
2011-08-30 09:44 7559故事的背景: 笔者最近在做一个类SNS的项目,其中 ... -
雷军 :互联网创业的葵花宝典
2011-05-04 10:35 3595博主评: 这片博客很短 ... -
Luci-mint站内搜索实测
2011-04-02 16:18 4141关于Luci-mint 服务器硬 ... -
发布 IK Analyzer 3.2.8 for Lucene3.X
2011-03-04 17:49 14254IK Analyzer 3.2.8版本修订 ... -
TIPS - XML CDATA中的非法字符处理
2011-02-17 15:03 3303XML解析过程中,常遇见CDATA中存在非法字符,尤其在火星文 ... -
对Cassandra的初体验
2010-10-13 17:58 9137作为“云计算”时代的架构设计人员而言,不懂K-V库会被 ... -
Spring + iBatis 的多库横向切分简易解决思路
2010-10-11 13:43 93551.引言 笔者最近在做一个互联网的“类SNS”应用,应用 ... -
发布 IK Analyzer 3.2.5 稳定版 for Lucene3.0
2010-09-08 14:43 5823新版本IKAnnlyzer3.2.8已发布! 地址: http ... -
关于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 6717IK Analyzer 3.2.3版本修订 在3.2.0版 ... -
windows平台上的nginx使用
2010-01-28 17:13 3406转载自:http://nginx.org/en/docs/wi ... -
发布IKAnnlyzer3.2.0稳定版 for Lucene3.0
2009-12-07 09:27 9579最新3.2.5版本已经推出,http://linliangyi ... -
在Tomcat下以JNDI方式发布JbossCache
2009-12-04 10:57 3829前言: 看过JbossCache的开发手册,发现在Jb ... -
Spring AOP小例子
2009-11-16 10:35 3404PS: 要注明一下,这个是转载滴,之前漏了说鸟,汗死 这里给 ... -
ActiveMQ 5.X 与 Tomcat 集成一(JNDI部署)
2009-11-10 15:15 5649原文地址:http://activemq.apache.org ... -
发布IKAnalyzer中文分词器V3.1.6GA
2009-11-08 23:10 11856IKAnalyzer3.2.0稳定版已经发布,支持Lucene ... -
设计模式感悟
2009-11-07 17:57 3696最近又把以前学习的模式过了一遍,感觉模式不是学出来的,是悟出来 ...
相关推荐
根据提供的信息来看,这份文档似乎来自《OPENBOOK》开源杂志2014年的第七期,主要涉及的内容包括杂志团队介绍、捐赠支持、职位招募、合作伙伴、硬件漂流项目以及广告和比赛展示等内容。接下来,我们将围绕这些核心...
《ElephantDream/大象之梦》是世界上第一部开源电影,创新的推广方式不仅为Blender社区吸引了大量的粉丝,也赢得了社会支持。《BigBuckBunny/大雄兔》是为了推动毛发和动画工具的开发而进行的电影项目,而《Sintel/...
4. **捐赠处理**:支持在线捐款,可能集成第三方支付网关如PayPal或Alipay,确保捐赠流程安全透明,并提供捐赠记录查询。 5. **活动发布与管理**:组织可以发布和管理各类公益活动,如义工服务、筹款活动等,用户...
3. 在线捐赠:系统支持直接的在线捐赠,捐赠者可以选择向特定的贫困生或项目捐款,资金管理功能确保捐赠款项的安全流转。 4. 校内求助:遇到困难的学生可以在平台上发布求助信息,获取其他人的帮助,形成互助的良好...
- 支持和维护:开源项目可能缺乏足够的技术支持,用户需依赖社区或第三方服务商。 - 法律问题:使用开源软件时需确保符合许可证规定,避免侵犯版权。 5. **开源文化** - 社区驱动:开源项目往往由热情的开发者...
无论你是经营在线商店、提供订阅服务,还是希望接受来自全球的支持者的捐赠,Easy Paypal Module都能成为你实现目标的有效工具。 总的来说,Easy Paypal Module作为一款开源的Mambo和Joomla模块,通过简化Paypal的...
Liberapay.com是一个开源的、基于Python的在线捐助平台,致力于为开源项目和个人创作者提供一种可持续的资金支持方式。它允许用户定期向他们支持的项目或个人捐赠,以此鼓励并保障开源社区的持续发展。 1. **Python...
这个系统让非营利组织能够在其自定义品牌的网站上接受来自支持者的捐赠。用户界面友好,操作流程简洁,使得捐款过程变得更加便捷,有利于提高捐款转化率。此外,该软件可能还支持多种支付方式,如信用卡、PayPal或...
它的核心目标是帮助这些组织更好地发展和维持与他们的支持者、志愿者、会员以及其他利益相关者的关系。CiviCRM 的开源特性意味着它允许用户免费下载并根据自己的需求进行定制,同时也鼓励社区参与开发和改进。 ...
urmusic5是一款专为音乐爱好者和创意人士设计的免费、开源软件,它提供了强大的音乐可视化功能,让用户可以自由地创作出独特的音乐视频。这款软件的核心特性在于其高效能的硬件加速渲染技术,确保了即使在处理复杂的...
在提供的压缩包文件"donorsvc_1.0.0_lib"中,我们可以推测这是一个版本为1.0.0的服务库,可能是connect5D项目的一部分,用于捐赠或支持其他服务的实现。"svc"可能代表"Service",暗示这是一组服务接口或实现,用于与...
"v1 测试版"表明这是该模板的第一个测试版本,用户在使用时可能会遇到一些bug,但同时也意味着它提供了初步的功能和设计框架,供用户试用和提供反馈。 开源意味着该模板的源代码是公开的,任何个人或团体都可以查看...
本软件为开源软件,没有上架Google Play,没有在任何地方售卖,如果想支持我请通过软件里的捐赠,不要在任何地方购买! 关注公众号请搜索:开源阅读软件,有福利噢 blog http://www.hostfans.cn 开发 本项目Fork于 ...
- **IBM的贡献**:Eclipse最初由IBM投资4千万美元开发而成,第一版发布于2001年11月。 - **开源项目**:Eclipse成为了一个开源项目,虽然大部分开发工作仍然由IBM主导,但也有一部分工作由eclipse.org下的软件联盟...
第9轮Gitcoin赠款(GR9)是一个持续的活动,旨在促进开源生态系统的繁荣,并鼓励更多的人参与到这个领域。 在Gitcoin赠款的每一轮中,项目方可以申请资金,社区成员则通过捐赠来支持他们感兴趣的项目。这些项目可能...
在这个过程中,商业化的支持、培训、市场理解、第三方软件生态以及公司的责任感都成为关键因素。 最近Evans Data Corporation的一项研究显示,开发者开始倾向于非商业的Linux版本。这标志着开源社区的力量正在增长...
"Brave浏览器"是一款由Brendan Eich(JavaScript的创造者)和Brian Bondy共同创立的公司Brave Software开发的开源网络浏览器。这款浏览器以其高效、隐私保护和广告拦截功能而闻名,旨在提供更快、更安全的浏览体验。...
Eclipse作为一个开源的集成开发环境(IDE),自2001年由IBM捐赠给开源社区以来,迅速成为了全球范围内广泛使用的开发工具之一。Eclipse不仅仅局限于Java开发,通过其高度可扩展性的架构,能够支持多种编程语言和开发...