设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

Hibernate Search 3.3 Beta1发布

2010-8-26 18:12| 发布者: walkerxk| 查看: 2267| 评论: 0|来自: xiexiejiao.cn

摘要:   Hibernate Search 3.3第一个beta版本-Hibernate Search 3.3 Beta1下载地址发布了,关注Hibernate Search的朋友可以去官方获取最新的Hibernate Search 3.3 Beta1下载地 址下载试用。本次发布的Hibernate Search 3 ...

  Hibernate Search 3.3第一个beta版本-Hibernate Search 3.3 Beta1下载地址发布了,关注Hibernate Search的朋友可以去官方获取最新的Hibernate Search 3.3 Beta1下载地 址下载试用。本次发布的Hibernate Search 3.3 Beta1最大的特性就是引入了Hibernate Search query DSL,要知道编写Lucene查询并不是一件容易的事情,尤其是当lucene检索建立在面向对象的Hibernate之上的时候,改问题更加明显。由 于Hibernate Search query DSL的引入,Hibernate隐藏了创建索引和查询过程中将对象于索引、查询字符串的转换的细节(类似Hibernate的 ResultTransformer),让用户可以使用Hibernate风格进行Lucene检索。同时Hibernate Search 3.3 Beta1也增加了与最新的Hibernate 3.6的兼容,同时修正了大量bug。喜欢尝鲜的朋友可以尝试将Hibernate Search 3.3 Beta1于Hibernate 3.6一起使用了。

  简单介绍下Hibernate和Hibernate Search的关系,算是扫盲了。Hibernate是目前Java开 源世界最流行的 ORM框架之一。目前比较火的组合SSH(Struts + Spring + Hibernate)已经被广泛使用。Hibernate的优势是开发效率,这也是ORM工具的共通点。使用Hibernate能大幅度提高开发者的开发 效率,同时能更好的在程序中实现OO的思想。可以说以Hibernate为代表的ORM工具,是在面向对象的数据库普及之前最好的一个选择。但使用 Hibernate同时也会面临一定的问题,当遇到大字段需要模糊匹配检索的时候,SQL语句的like变得力不从心,效率的大幅度下降是不可避免的。于 是Hibernate 携手Java社区最流行的全文检索工具Lucene,推出了Hibernate Search,用于提供那些使用 Hibernate的开发者一个无缝的链接Hibernate与Lucene的平台。

  Hibernate Search的作用是对数据库中的数据进行检索,无论是小型字段还是大型字段,Hibernate Search都可以进行索引并检索,只是全文检索在大字段的检索时会体现出明显的优势。Hibernate Search可以将数据库中的大字段(例如声明为text的字段)建立全文索引,之后可以通过Hibernate Search对这些字段进行全文检索。区别与传统Lucene的解决方案的是Hibernate Search返回的结果集已经被Hibernate Search封装成为Hibernate 管理的POJO,这样开发者可以在使用Hibernate的同时无缝集成Lucene索引,同时享受Lucene索引的高效以及Hibernate带来的 OO特性。

Hibernate Search 3.3 Beta1下载地址:
Hibernate Search 3.3 Beta1下载
Hibernate Search 3.3 Beta1 maven引用

  1. <dependency>  
  2.     <groupid>org.hibernate</groupid>  
  3.     <artifactid>hibernate-search</artifactid>  
  4.     <version>3.3.0.Beta1</version>  
  5. </dependency>  

Hibernate Search 3.3 Beta1中使用Hibernate Search query DSL例子:

  1. QueryBuilder mythQB = searchFactory.buildQueryBuilder().forEntity( Myth.class ).get();  
  2.   
  3. //look for popular modern myths that are not urban  
  4. Date twentiethCentury = ...;  
  5. Query luceneQuery = mythQB  
  6.     .bool()  
  7.       .must( mythQB.keyword().onField("description_stem").matching("urban").createQuery() )  
  8.         .not()  
  9.       .must( mythQB  
  10.         .range()  
  11.         .onField("starred")  
  12.         .from(3).excludeLimit()  
  13.         .to(5)  
  14.         .createQuery() )  
  15.       .must( mythQB  
  16.         .range()  
  17.         .onField("creationDate")  
  18.         .above(twentiethCentury)  
  19.         .createQuery() )  
  20.     .createQuery(); 


酷毙

雷人

鲜花

鸡蛋

漂亮

相关阅读

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部