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

我们刚刚发布了 Hibernate Search 7.0.0.Beta1,这是 Hibernate Search 下一个主要版本的第一个 beta 版本。

本新主要版本的主题是升级:以 JDK 11 为基础,切换到 Jakarta EE 和最新的 Hibernate ORM,升级 Lucene 后端到下一个主要版本(Lucene 9)。

除此之外,7.0.0.Beta1 还包括与 Amazon OpenSearch Serverless 的实验性兼容性,发布了一个包含其所有公共组件的 Hibernate Search BOM,等等。

新增内容

Hibernate Search 7.0 仍在开发中:一些功能可能尚未完成,或可能以不兼容的方式更改。

依赖项升级

JDK 11 (HSEARCH-4556)

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

切换到 Jakarta EE (HSEARCH-4394/HSEARCH-4395/HSEARCH-4602)

Hibernate Search 完全切换到 Jakarta EE,不再与 Java EE 兼容。之前系列中的所有 -orm6-jakarta 组件,这些组件提供了 Hibernate ORM 6 和 Jakarta EE 兼容性,现在都已不可用,因为这种兼容性现在由主组件提供。

Hibernate ORM (HSEARCH-4931)

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

Lucene (HSEARCH-4393)

Lucene 后端现在使用 Lucene 9.7.0。

Elasticsearch (HSEARCH-4921/HSEARCH-4868)

Elasticsearch后端支持与Elasticsearch 8.9以及其他已兼容的版本一起工作,但不包括5.x/6.x系列。由于这些版本已经达到其EOL,因此已移除与Elasticsearch 5.x/6.x的兼容性。

OpenSearch (HSEARCH-4905)

Elasticsearch后端与OpenSearch 2.9以及其他已兼容的版本一起工作。

其他

Hibernate Search BOM

Hibernate Search现在提供BOM,提供对其实际发布的所有艺术品的依赖关系管理。它可以作为依赖关系管理的一部分导入,以保持Hibernate Search艺术品版本的一致性

<dependencyManagement>
    <dependencies>
        <!-- Import Hibernate Search BOM to get all of its artifact versions aligned: -->
        <dependency>
            <groupId>org.hibernate.search</groupId>
            <artifactId>hibernate-search-bom</artifactId>
            <version>{hibernateSearchVersion}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- Any other dependency management entries -->
    </dependencies>
</dependencyManagement>
<!-- ... -->
<dependencies>
    <!-- Declare dependencies -->
    <dependency>
        <groupId>org.hibernate.search</groupId>
        <artifactId>hibernate-search-mapper-orm</artifactId>
        <!-- The version is managed by the BOM above -->
    </dependency>
    <dependency>
        <groupId>org.hibernate.search</groupId>
        <artifactId>hibernate-search-backend-elasticsearch</artifactId>
        <!-- The version is managed by the BOM above -->
    </dependency>
    <!-- Any other dependency entries -->
</dependencies>

Amazon OpenSearch Serverless实验兼容性

Hibernate Search现在具有与Amazon OpenSearch Serverless的孵化兼容性。

与Amazon OpenSearch Serverless相比,Amazon OpenSearch Serverless具有某些限制,并且可能不支持常规集群执行的所有操作。必须通过设置后端版本属性来显式启用与Amazon OpenSearch Serverless的兼容性

hibernate.search.backend.version=amazon-opensearch-serverless

有关更多信息,特别是有关限制的信息,请参阅参考文档的此部分

其他改进和错误修复

  • HSEARCH-4532:将outbox-polling实体的有效负载切换到Hibernate ORM 6的LONG32VARBINARY类型。

  • HSEARCH-4742:允许独立POJO映射器从文件中读取配置属性。

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

如何获取此版本

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

入门,迁移

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

对于现有应用程序,假设您已经使用带有-orm6实体的Hibernate Search 6.2,升级到Hibernate Search 7.0只需删除Hibernate Search依赖项中的-orm6后缀并更新版本号(或者您可以使用BOM),当然,如果适用,您还需要对其他依赖项(例如Hibernate ORM)进行对齐。

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

反馈、问题、想法?

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


返回顶部