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

我们刚刚发布了 Hibernate Search 6.1.0.CR1,这是 Hibernate Search 6.1 的第一个候选版本。

自 Beta2 以来的一些主要变化:更好的默认值和可选运算符用于正则表达式谓词,与 Hibernate ORM 6 兼容的更多 Maven 软件包等。

新增内容

要查看自 6.0 版以来所有新功能和改进的摘要,请访问 hibernate.org 上的专用页面

依赖项升级

Hibernate ORM (HSEARCH-4436)

Hibernate Search 6.1 现在依赖于 Hibernate ORM 5.6.3。

其他
  • HSEARCH-4446:升级到 Elasticsearch 客户端 7.16.3

  • HSEARCH-4448:升级到 JBoss logging 3.4.3.Final

  • HSEARCH-4449:升级到 slf4j 1.7.33(仅影响与 AWS 集成相关的软件包)

正则表达式谓词的更好默认值和可选运算符

在 Hibernate Search 6.1 中引入的正则表达式谓词现在允许通过标志(HSEARCH-4362)显式选择可选运算符。

这些运算符现在默认不启用,这应该可以避免诸如正则表达式 .*@jboss.org 匹配 something@lists.jboss.org 之类的问题,因为 @ 是一个可选运算符,匹配任何字符串...

有关可选运算符的更多信息,请参阅 参考文档的此部分

Hibernate ORM 6

感谢 HSEARCH-3277,Hibernate Search 现在除了针对 Java EE(JPA、CDI 等)和 Hibernate ORM 5.x 的传统工件外,还提供了针对 Hibernate ORM 6.0.0.Beta3 和 Jakarta EE 9.1(Jakarta Persistence 3、Jakarta CDI 3)的替代、实验性工件。

这些工件的工件 ID 后缀为 "-orm6"。

在 Hibernate Search 6.1.0.CR1 中,这包括以下 ORM 6 工件

  • org.hibernate.search:hibernate-search-mapper-orm-orm6:6.1.0.Beta1

  • org.hibernate.search:hibernate-search-mapper-orm-coordination-outbox-polling-orm6:6.1.0.Beta1

  • org.hibernate.search:hibernate-search-mapper-orm-batch-jsr352-core-orm6:6.1.0.Beta1

  • org.hibernate.search:hibernate-search-mapper-orm-batch-jsr352-jberet-orm6:6.1.0.Beta1

  • org.hibernate.search:hibernate-search-v5migrationhelper-orm-orm6:6.1.0.Beta1

请注意,为了切换到 Hibernate ORM 6 和 Jakarta EE,您需要切换到这些工件,但还需要

  • 使用 Hibernate ORM 6 而不是 5.x;这需要更改 Hibernate ORM 工件的组 ID,而不仅仅是版本:org.hibernate 变为 org.hibernate.orm

  • 使用适用于您的其他 Java EE 依赖项的 Jakarta EE 特定工件。

  • 将您的代码转换为 Jakarta EE API。这应该是相当直接的:只需在代码的每个地方将 import javax.persistence.<something> 替换为 import jakarta.persistence.<something>(同样适用于 javax.enterprisejavax.transaction 等)。

  • 寻找支持 Jakarta EE 的新版本框架或应用程序服务器。由于 Jakarta EE 仍然很年轻,这可能很难找到,但一些应用程序服务器已经至少提供了预览。

重大变更

其他改进和错误修复

  • HSEARCH-4425:在 OutboxPollingOutboxEventAdditionalJaxbMappingProducer 中将非空属性标记为非空。

  • HSEARCH-4443:出箱轮询实体(代理、出箱事件)中的枚举属性在数据库中具有奇怪的类型。

  • HSEARCH-4438:在自定义映射/设置文件中的语法错误时提供更详细的错误消息。

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

如何获取此版本

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

入门,迁移

对于新应用程序,请参阅入门指南

对于现有应用程序,假设您还升级了依赖项,Hibernate Search 6.1 是 6.0 的直接替代品。有关弃用的配置和 API 的信息包含在迁移指南中。

反馈、问题、想法?

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


返回顶部