我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > Hibernate Search强大高效的检索引擎,Lucene
总共48086条微博

动态微博

查看: 1869|回复: 0

Hibernate Search强大高效的检索引擎,Lucene

[复制链接]

96

主题

7

听众

406

金钱

四袋长老

该用户从未签到

跳转到指定楼层
楼主
发表于 2014-06-23 21:15:51 |只看该作者 |倒序浏览
hibernate Search项目的Beta第二版发布的时候。InfoQ为此采访了Hibernate Search项目的发起人Emmanuel Bernard以了解更多细节,Emmanuel同时也是相关项目Hibernate Annotations和Hibernate EntityManager的发起人。根据Emmanuel所言,Hibernate Search目的是帮助Hibernate的使用者或是java Persistence API(JPA)的使用者可以通过全文搜索索引来访问Hibernate或JPA管理的对象。
Hibernate Search项目的主要特性包含以下几个方面:
- v8 r2 [% F6 N* J! h- i  P) ]  j1 Z
◆Lucene集成——作为强大高效的检索引擎,Lucene的美名早已久经考验了;
  B$ A3 q9 w9 M1 b◆数据的自动插入和更新——当一个对象通过Hibernate添加或更新时,索引也会相应进行透明的更新;0 K9 _7 Z7 R" V
◆支持众多复杂的搜索方式——可快速的使用通配符进行搜索,以及多关键词全文检索(multi-word text searches)和近似或同义词搜索(approximation/synonym searches),或根据相关性排列搜索结果;
6 _9 O" O2 _# J◆搜索集群(Search Clustering)——Hibernate Search提供了内建搜索集群解决方案,其中包括一个基于JMS的异步查询和索引系统;" e; \0 `1 G2 u0 n
◆对Lucene API接口的直接调用——如果用户打算处理某些特别复杂的问题,可以在查询中直接使用Lucene提供的API接口;
0 u3 e6 b* t0 m  o# V- \◆对Lucene的自动管理——Hibernate Search可以管理并优化Lucene的索引,并且非常高效地使用Lucene的API接口。
项目的主要目标包含以下几个方面:( u% W/ S$ t3 v/ l, O
◆易用性——和Hibernate的ORM映射一样,Hibernate Search帮助用户实现了业务90%的工作,并且使用户专注于余下更为困难的业务实现部分;4 `, L6 U. S9 w: y4 J: N# r
◆和已有的Hibernate/JPA编程模型保持一致性——更轻松地集成Hibernate/JPA编程模型是“一开始就致力要实现的目标”。
Emmanuel在实践中给出了几个具体的实例,包括) n" a# ^. B7 a' B6 n
◆通过转换对象构造的方式,HQL查询语句可以被转换为搜索查询,“通常只是几行代码”——其他的因素(执行查询,结果格式等)都保持不变;
0 a4 `7 R$ H& o5 E◆不需要启动过程,因为Hibernate Search透明地利用了已有的Hibernate/JPA基础架构;
( Q% }0 D9 N) s8 u  H  Q3 ?- G◆最小配置集合要求至少在persistence.xml或者hibernate.cfg.xml中设置两个属性。
关于最终发布时间表,Emmanuel指出3.0版本发布之前将在查询和索引最优化方面做出大量的工作,他就此总结道:
Hibernate Search的核心代码实际上是相当稳定的,发布版之所以仍标记为Beta的原因是我们对拓展API接口还没有充足的把握,Hibernate Search内核相当灵活,并且可以融入用户自定制的搜索策略。到目前为止,代码已经相对稳定,我们希望看到一个具备完善特性的产品,并保证API接口不会出现问题。
如同平常一样,开源项目在编码完成时发布,我所要说的就是这个夏天很长并且我没有安排什么额外的度假计划 :)
关于Hibernate Search实现策略好处和不足的有趣争论也随之展开,Sanjiv Jivan就此描述了他眼中的Hibernate Search优缺点,随后Emmanuel Bernard也回应了Sanjiv的看法。那么,亲爱的读者,对于Hibernate Search,您的观点又是如何呢?
8 i. ~; w" C% o( q5 n! q7 M

科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表