JiveJdon Community Forums
在线264人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 开源项目大家谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 7 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
hzxdark

发表文章: 8
注册时间: 2006年05月05日 09:09
给他发消息
开源纯JAVA全文搜索引擎,希望大家给点意见。 发表: 2007年09月02日 01:42 回复
天刚完成的,做了好久了。一个纯java的全文搜索引擎框架。

做这个的目标是,更简单,更容易,以至任何一个懂java的人都可以很容易地搭建一个个人用的搜索引擎,例如个人站点的站内搜索。

主页:http://j-box.sourceforge.net/index_cn.html
API文档、QUICK START都有。
本来想给在SOURCEFORGE的主页加上个搜索引擎的DEMO,但发现SOURCEFORGE是用PHP的,JAVA用不上。。。

Jbox目前是beta版本,如果各位朋友发现bug了,麻烦发邮件到j-box-user@lists.sourceforge.net(如果发不成功,则发到yibin_h@users.sourceforge.net ,mailing list刚开通,还不大会用--!),谢谢了^_^

主页地CVS功能目前还没开通——sourceforge的CVS管理好复杂@_@...

有朋友问起,是否有像现在的GOOGLE一样输入一个词,给出相应相关词的功能。
是有的,不过不是像google一样是给出同一个词的各种组合,而是根据语义给出最相关的词。这个有一套相关性算法的,我的毕业设计做的就是那个。我的论文目前投到《中文信息学报》,还不知道审稿结果。因为没什么时间,那一部分的代码现在还没有整理出来,后续的版本会追加上去。

无论好与坏,可以的话希望能给点意见,我需要大家的意见来做进一步的改进和开发啊!谢谢了!
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
回复:开源纯JAVA全文搜索引擎,希望大家给点意见。 发表: 2007年09月02日 08:58 回复
赞一个,好东西大家分享。

非常感兴趣:"不过不是像google一样是给出同一个词的各种组合,而是根据语义给出最相关的词" 期待这个功能出来,才是最厉害的。
[该贴被banq于2007年09月02日 09:30修改过]
hzxdark

发表文章: 8
注册时间: 2006年05月05日 09:09
给他发消息
re:开源纯JAVA全文搜索引擎,希望大家给点意见。 发表: 2007年09月02日 10:50 回复
谢谢banq的鼓励,我会尽快整理出来的^_^
不过那个功能只有中文的实现了,英文的没做。因为中文跟英文语法结构不一样,语义相关算法是不一样的。对英文的语法结构不熟,所以英文语义那块做起来很棘手;中文部分的算法跟实现都是自己研究的。
在开始做的时候压根不知道google有这功能,那时好像google也还没出这功能,所以当我的毕业设计完成了后,看到google推出的,自己都很惊讶,呵呵。
hzxdark

发表文章: 8
注册时间: 2006年05月05日 09:09
给他发消息
re:开源纯JAVA全文搜索引擎,希望大家给点意见。 发表: 2007年09月02日 12:50 回复
有朋友问到,我的这个项目跟LUCENE的区别,下面说说。

开发这个之前我也考虑过LUCENE,但在仔细看了LUCENE之后,有4个地方让我觉得不舒服,于是突然就萌生了想自己做一个这样的东西出来的想法。

1. LUCENE本身只是一个检索框架,需要做成完整的搜索引擎的话还需要再去学NUTCH,然后再去研究两者之间的整合,这过程理解起来不容易;
2. LUCENE对数据库的支持度不好,虽说有数据库扩展包,但LUCENE主页上的FAQ也说了,并不理想。而对于大规模数据我比较倾向于数据库,所以在当时在看LUCENE时第一想法其实是能不能开发一个更好的基于数据库扩展包,不过后来发现这个扩展好复杂。
3. LUCENE对中文的支持度不够(虽然有很多人做了中文的扩展就是了);
4. 最后一点,也是让我最不舒服的一点,LUCENE的源代码,如果有看的人应该可以发现,很多地方并不是很符合面向对象的,看起来很费劲,也很难理解。例如,因为我英文语法不行,所以英文分析参照了LUCENE(org.apache.lucene.analysis.PorterStemmer这个类),发现LUCENE的处理方法是传入一个字符串后,定义全局变量做下标,利用全局下标在字符串之间移动处理(其中还有一些方法是单纯用于移动下标的,意义不明……)。很难表达我当时那种感觉,总之,感觉很别扭,不自在。或许这样做可以提高分词的性能,但我还是比较喜欢面向对象的处理方法;

在之后做JBOX的时候,就是根据上面对LUCENE不满的地方做的。
1. JBOX最首要的目的,是简单。要让开发变得更简单,个人认为,这是框架的首要责任。当然,或许目前我这个作品可能依然不够简单性,在后续的版本我会继续努力改进。
2. JBOX第二个目的是纯粹的面向数据库。因为相信有很多人跟我一样,应用程序都习惯搭建在数据库上,由其是大规模的数据。目前的版本中,持久层是用Hibernate做的,这影响了存储索引时的效率,我在尝试写存储过程来代替Hibernate在存储的部分的功能,以提高效率,后续的版本会追加这一点;
3. JBOX分词的出发点不是西方文字,而是中文(毕竟还是母语熟悉,其他语言的分词好难懂,呜呜……)。分词部分完整的我没有看LUCENE怎么实现,JBOX的实现方式是利用责任链对多语言文本进行切词,虽然目前仅实现了英文跟中文就是了。(德文的切法正在看LUCENE的实现中,就如上面所说的,难懂……);
4. JBOX的结构是尽量按面向对象的思想设计的,目前我还在继续改进中。其实如果单单只是要搜索引擎的功能,3个月前我就已经做好了。但为了让其结构更容易理解,更容易扩展,更加贴近面向对象,这个过程整整消耗了我3个月时间。(想想真很辛苦,我也要上班养活自己,时间都是挤出来的,唉。);
5. 最后,类似google那样相关词搜索的功能,LUCENE没有吧?这个就如我上面帖子里说的,我已经实现了,只是还没整理。相关算法的论文也在审稿中,9月15号后才能知道结果(编辑部回答时15号后在问,没说15号后多少,呜……);

最后,JBOX当然不可能代替LUCENE,我也没那么自大去做这种事。例如LUCENE在文件索引,数据库索引方面我是暂时没打算做的。JBOX的当前目的只是,网站上的搜索引擎,其他的检索还是要LUCENE。

santafeng

发表文章: 47
注册时间: 2006年06月28日 10:48
给他发消息
re:开源纯JAVA全文搜索引擎,希望大家给点意见。 发表: 2007年09月03日 09:37 回复
没有深入研究,不过同样支持一下开源精神,希望j-box能照顾一下SpeedFramework 的fs,也做一套基于SpeedFramework 的实现。
hzxdark

发表文章: 8
注册时间: 2006年05月05日 09:09
给他发消息
re:开源纯JAVA全文搜索引擎,希望大家给点意见。 发表: 2007年09月03日 10:25 回复
行,我去看看。我也在考虑要怎么解决用Hibernate做持久层的话,大批量数据插入时性能不足的问题。下个版本在考虑要加多几种不同的持久层实现供选择。
谢谢楼上的关注和建议^_^
javashare

发表文章: 26
注册时间: 2007年09月08日 17:45
给他发消息
re:开源纯JAVA全文搜索引擎,希望大家给点意见。 发表: 2007年09月12日 20:10 回复
最近要做一个业务核心是 基于案例推理 的程序,但对人工智能搜索这一块不是很懂,希望楼主的这个jbox有一天可以加上 自我学习推理的功能 
呵,顶一个
qlqsh

发表文章: 24
注册时间: 2004年12月11日 15:53
给他发消息
re:开源纯JAVA全文搜索引擎,希望大家给点意见。 发表: 2007年09月13日 10:19 回复
支持一下。厉害。

下面泼点冷水。^-^

我觉得楼主做的这个性能可能是个瓶颈。我觉得基于数据库并不是个好的想法,而且数据库的性能对搜索来说不理想。还有如果真的要做个好性能的搜索框架的话,最好用C,java和C之间的I/O操作差距还是很大的。

关于楼主这个做的面向对象是站内搜索,Lucene也可以做到站内搜索的。如果楼主想把自己的东西真正的做成一个产品的话,除了本身这个框架外,我觉得应该多费点心思在外边。
这个主题有 7 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam