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

今天,我们发布了 Hibernate Search 5 版本的又一个里程碑。我们在多个方面进行了并行工作;最显著的变化包括

OSGi 支持,API 变更

我们所有的模块现在都提供了 OSGi 元数据,以方便在 OSGi 容器中运行的用户。我们还包含了一个示例功能文件和 Karaf 的集成测试。

请注意,Apache Lucene 并不提供相同的元数据,因此您可能需要查看我们使用的 功能文件 来了解 Lucene 模块需要如何打包。

类重定位

成为 OSGi 兼容的结果是,我们不得不移动一些知名 API 的包;请参阅 迁移指南 获取所有详细信息。

Apache Lucene 4.8.1,现在需要 Java7

自 4.8 版本以来,Apache Lucene 需要使用 Java7,我们不想您错过它提供的某些改进或未来可能出现的潜在错误修复,因此我们现在也要求使用 Java7。

Apache Lucene 4.8.1 今天发布,因此我们可以将其包含在本版本中。

通过自动发现加载桥接提供程序

我们一直将 Hibernate Search 中包含的 FieldBridge(s) 与自定义(应用提供的)FieldBridge 区分开来。从这次发布开始,内置桥接的发现使用 Service Loader 模式,这样我们就可以将一些桥接实现移动到可选模块,并最终提供对 Java8 中定义的新日期/时间类型的支持,以及 Joda Time 中的类型,甚至可能是您自己的自定义类型,但这需要进一步精炼工作。

其他一些改进

这些不会成为头条新闻,作为Java要求的改变,但我们还有一些更相关的新闻

  • Infinispan 升级到 7.0.0.Alpha4:现在也要求 Java7,并支持 Apache Lucene 4.8 的分布式 Lucene 目录
  • 所需的 Infinispan 更新意味着使用最新的 JGroups 3.5.0.Beta5
  • 我们所有的文档都已迁移到 AsciiDoc ,现在为文档贡献变得更加容易!
<dependency>
 <groupId>org.hibernate</groupId>
 <artifactId>hibernate-search-orm</artifactId>
 <version>5.0.0.Alpha4</version>
</dependency>

返回顶部