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

我们刚刚发布了 Hibernate Search 的新候选版本:7.0.0.CR2。

此版本升级到最近发布的 Hibernate ORM 6.4;由于此升级意味着与 Hibernate ORM 6.3 的兼容性被弃用,因此被认为是一个足够大的变更,值得发布第二个候选版本。7.0.0.CR2 还包含一些错误修复和改进;以下将提供更多信息。

新增功能

有关自 6.2 版本以来所有新功能和改进的总结,请访问 hibernate.org 上的专门页面

依赖项升级

JDK 11(提醒)

Hibernate Search 现在需要 Java 11 作为基础,不再兼容 Java 8。

切换到 Jakarta EE(提醒)

Hibernate Search 完全切换到 Jakarta EE,不再兼容 Java EE。以前系列中所有提供 Hibernate ORM 6 和 Jakarta EE 兼容性的 -orm6-jakarta 艺术品现在都无法使用,因为这种兼容性现在由主要艺术品提供。

Hibernate ORM(《HSEARCH-5008》)

Hibernate Search 现在依赖于 Hibernate ORM 6.4.0.Final。

Lucene(提醒)

Lucene 后端现在使用 Lucene 9.8。

Elasticsearch(《HSEARCH-5005》/HSEARCH-5012

Elasticsearch 后端与 Elasticsearch 8.11 以及其他已经兼容的版本一起工作 — 除了以下版本,因为它们的兼容性已被删除,因为它们已经达到其生命周期结束

  • 5.x/6.x (在Hibernate Search 7.0.0.Beta1中已删除兼容性)

  • 7.0-7.9 (在Hibernate Search 7.0.0.CR1中已删除兼容性)

OpenSearch (提醒)

Elasticsearch后端支持OpenSearch 2.10和2.11,以及其他已经兼容的版本 — 除了1.0、1.1和1.2版本,在Hibernate Search 7.0.0.CR1中已删除其兼容性,因为它们已经达到其生命周期的终点。

其他

其他改进和错误修复

  • HSEARCH-4995:Hibernate Search将不再在ERROR级别记录复杂操作(启动、模式验证)中遇到的异常,而是在TRACE级别。为了传播这些异常,Hibernate Search将它们添加为“抑制”到最终抛出的异常(启动/模式验证的末尾)。

    这意味着特别是,在遇到异常(例如不一致的Elasticsearch索引别名)时,显式使用SchemaManager(例如用于模式验证)将不再使日志充满,而是会产生一个包含所有必要信息的异常,在其自己的消息中(包含所有失败简要描述的失败报告)以及在其抑制的异常中(所有相关异常的完整堆栈跟踪)。

  • HSEARCH-4999:Elasticsearch空间谓词现在将使用geo_shape查询而不是已弃用的geo_polygon查询。

  • HSEARCH-5015OutboxEvent不再是一个最终类,避免了在某些情况下Hibernate ORM尝试为OutboxEvent生成代理类时的警告。

等等。有关自上次发布以来的全部更改列表,请参阅发行说明

如何获取此版本

所有详细信息都可在hibernate.org上的专门页面上找到并保持最新。

入门,迁移

对于新应用程序,请参阅以下指南

对于现有应用程序,假设您已经使用带有-orm6组件的Hibernate Search 6.2,升级到Hibernate Search 7.0主要需要从您的Hibernate Search依赖项中删除-orm6后缀,更新版本号(或者您可以使用BOM),当然,如果有的话,调整您的其他依赖项(例如Hibernate ORM)。

有关迁移、弃用和破坏性更改的信息包括在迁移指南中。

反馈、问题、想法?

要取得联系,请使用以下渠道


返回顶部