Hibernate Search是一个库,它通过自动索引实体,将Hibernate ORM与Apache Lucene或Elasticsearch集成,实现了高级搜索功能:全文搜索、地理空间搜索、聚合等。更多信息请参阅hibernate.org上的Hibernate Search

我们刚刚标记并上传了两个版本的工件

  • Hibernate Search 4.4.0.Final - 用于与Hibernate ORM 4.2.x(JPA 2)以及使用此版本ORM的应用服务器(JBoss EAP 6.1,JBoss AS 7.1)一起使用
  • Hibernate Search 4.5.0.Alpha1 - 现已兼容Hibernate ORM 4.3早期测试版(JPA 2.1)及其使用它的应用服务器(WildFly 8.0.0.Beta1)

Hibernate Search 4.4.0.Final

查看迁移指南,这将是一个对所有4.3用户来说都很容易的升级:API再次非常稳定。因此,我们建议所有用户升级并利用所有改进,以最小化痛苦,并能够以迭代的方式解决少数几个小的弃用问题。

<dependency>
 <groupId>org.hibernate</groupId>
 <artifactId>hibernate-search-orm</artifactId>
 <version>4.4.0.Final</version>
</dependency>

或从Sourceforge下载发行版。

主要新特性

4.4开发周期专注于三个主要功能

动态索引分片

功能强大,允许您提高可伸缩性或自定义如何跨索引分割数据的多租户策略。阅读介绍性博客文章更高级的示例

元数据API

现在您可以通过元数据API了解每个索引实体如何映射到索引。这主要用于其他框架和工具的集成,但如果您想生成自己的高级查询,而不绑定到特定的模型,这也很有用,例如,要定位所有字段,您可以找出哪些字段存在。一个实际例子可以在这篇博客文章中找到。

JBoss模块,便于部署

在4.3版本中,我们将其作为实验性功能,现在看起来相当稳定。想法是在您的JBoss应用程序服务器中将Hibernate Search及其主要依赖项(如Apache Lucene和自定义Infinispan Directory)作为独立模块添加,这样您就不必在部署中包含任何与搜索相关的jar。它将正确连接类加载器到其他依赖模块,如Infinispan Core、JGroups和Hibernate ORM,并且您还可以在同一容器中包含多个不同版本:模块ID包括版本!访问模块只需要在部署清单中添加一行,如参考文档中所述。

错误修复和微小改进

已解决相当多的细微问题,以下是对4.3.0.Final以来更改的总结

  • 清除操作失败于@ContainedIn实体
  • 内嵌ElementCollection(带有FieldBridge)不会触发索引更新
  • 一些类加载修复
  • AppliedOnTypeAwareBridge未应用于Class Bridges,并且没有normsanalyze方法。
  • 改进依赖项的收敛,删除一些不必要的依赖项
  • QueryBuilder更友好地对待索引类型的超类
  • 改进了在文档构建过程中出现错误时的优雅恢复
  • 在文档中增加了许多说明

在依赖项中进行了许多微小升级:Hibernate ORM升级到4.2.6.Final,Infinispan升级到5.3.0.Final,Apache Tika升级到1.4,Apache Avro升级到1.7.5,JGroups升级到3.3.5.Final,Narayana升级到4.17.7.Final,JBoss Logging升级到3.1.0.GA,..所有最新的稳定版本。Apache Lucene保持在版本3.6.2。

Hibernate Search 4.5.0.Alpha1

这与Hibernate Search 4.4.0.Final非常相似,但与最新的Hibernate ORM 4.3.0.Beta5和Infinispan 6.0.0.CR1兼容,使其适用于WildFly 8.0.0.Beta1的使用。Hibernate 4.4.0.Final与这些版本不兼容,很抱歉我们尽力了,但在ORM和Infinispan依赖项的先前(稳定)版本中不做重大更改是不可能的,而且您还需要等待另一个WildFly版本,所以我们决定加速4.5版本的开发周期。

<dependency>
 <groupId>org.hibernate</groupId>
 <artifactId>hibernate-search-orm</artifactId>
 <version>4.5.0.Alpha1</version>
</dependency>

或者从Sourceforge下载发行版。

Hibernate Search 4.5.0.Alpha1还包括JBoss模块以简化在应用服务器上的部署,但这些仅严格适用于WidlFly(请原谅现在的名称和文档混淆)。

接下来是什么?

除了

  • 保持与最新Hibernate ORM和WildFly的兼容性所需的变化外
  • 改进(实验性)Infinispan自动配置
  • 您可能想贡献的内容

我们的主要关注点是Apache Lucene 4兼容性,因此我们将创建一个4.5分支,从今天起,master将变成Hibernate Search 5.0.0-SNAPSHOT

要提出更改并加入开发团队,请联系开发者邮件列表。我们期待高标准的贡献,但愿意帮助您达到这一标准:欢迎任何开发问题的提问。对于使用相关的问题或如果您不确定应该写在哪个列表,请在论坛上联系我们。

问题跟踪器是JIRA,所有代码都在GitHub上:欢迎pull请求和任何反馈。


返回顶部