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

我们很高兴宣布发布 Hibernate Search 7.0.0.Final。

与 Hibernate Search 6.2 相比,此版本将其基础升级到 JDK 11 和 Hibernate ORM 6.4,与 Elasticsearch 8.10/8.11 和 OpenSearch 2.10/2.11 兼容,并升级到 Lucene 9.8。

Hibernate Search 7.0 还带来了新功能,如全新的 Hibernate Search BOM、实验性的与 Amazon OpenSearch Serverless 的兼容性、与基于区分符的 Hibernate ORM 多租户兼容性,以及其他错误修复和改进。

与 Hibernate Search 6.2 相比的新功能

Java

Hibernate Search 现在以 JDK 11 为基础,可以在 JDK 11、17 或 21 上运行。已移除对 JDK 8 的兼容性。

Hibernate ORM

Hibernate Search 现在依赖于 Hibernate ORM 6.4,因为它完全切换到了 Jakarta EE。不再有 -orm6/-jakarta 艺术品或 Java EE 兼容性。

Lucene

Lucene 后端现在使用 Lucene 9.8。升级需要重新索引,有关详细信息,请参阅迁移指南。

Elasticsearch

Elasticsearch 后端与 Elasticsearch 8.10/8.11 以及其他已经兼容的版本一起工作—但是以下版本已移除兼容性,因为这些版本已经达到其生命周期结束

  • 5.x/6.x

  • 7.0-7.9

OpenSearch

Elasticsearch 后端与 OpenSearch 2.10 和 2.11 以及其他已经兼容的版本一起工作—但是以下版本已移除兼容性,因为这些版本已经达到其生命周期结束

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>7.0.0.Final</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具有孵化兼容性。

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

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

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

与Hibernate ORM的基于判别符的多租户兼容性

Hibernate Search现在可以索引利用数据库中@TenantId基于判别符的多租户(基于判别符的多租户)的Hibernate ORM实体。

Maven工件重命名

一些Hibernate Search Maven工件已被重命名

  • 与JSR-352工件相关的Maven工件已被重命名,以反映迁移到Jakarta EE规范

    • hibernate-search-mapper-orm-batch-jsr352-core已重命名为hibernate-search-mapper-orm-jakarta-batch-core

    • hibernate-search-mapper-orm-batch-jsr352-jberet已重命名为hibernate-search-mapper-orm-jakarta-batch-jberet

  • 工件hibernate-search-mapper-orm-coordination-outbox-polling已重命名为hibernate-search-mapper-orm-outbox-polling

与Hibernate Search 7.0.0.CR2相比的新增功能

有关自7.0.0.CR2以来的更改列表,请参阅发行说明

如何获取此版本

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

入门,迁移

对于新应用程序,请参阅以下指南以了解Hibernate ORM集成

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

有关迁移、弃用和重大更改的信息包含在迁移指南中。

反馈、问题、想法?

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


返回顶部