Hibernate Search 7.0.0.Beta1 is out

Posted by    |      

Hibernate Search is a library that integrates Hibernate ORM with Apache Lucene or Elasticsearch by automatically indexing entities, enabling advanced search functionality: full-text, geospatial, aggregations and more. For more information, see Hibernate Search on hibernate.org.

We just published Hibernate Search 7.0.0.Beta1, a first beta release of the next major version of Hibernate Search.

The main theme of this new major version is upgrades: JDK 11 as a baseline, switch to Jakarta EE and to the latest Hibernate ORM, upgrade of the Lucene backend to the next major version (Lucene 9).

Beyond that, 7.0.0.Beta1 also includes experimental compatibility with Amazon OpenSearch Serverless, publishes a Hibernate Search BOM containing all of its public artifacts, and more.

What’s new

Hibernate Search 7.0 is still in development: some features are still incomplete or may change in a backward-incompatible way.

Dependency upgrades

JDK 11 (HSEARCH-4556)

Hibernate Search now requires Java 11 as a baseline and is no longer compatible with Java 8.

Switch to Jakarta EE (HSEARCH-4394/HSEARCH-4395/HSEARCH-4602)

Hibernate Search completely switched to Jakarta EE and is not compatible with Java EE anymore. All of -orm6 and -jakarta artifacts from the previous series that provided Hibernate ORM 6 and Jakarta EE compatibility are now unavailable since this compatibility is now provided by the main artifacts.

Hibernate ORM (HSEARCH-4931)

Hibernate Search now depends on Hibernate ORM 6.3.0.Final.

Lucene (HSEARCH-4393)

The Lucene backend now uses Lucene 9.7.0.

Elasticsearch (HSEARCH-4921/HSEARCH-4868)

The Elasticsearch backend works with Elasticsearch 8.9 as well as other versions that were already compatible, except the 5.x/6.x series. Compatibility with Elasticsearch 5.x/6.x is removed since these versions already reached their EOL.

OpenSearch (HSEARCH-4905)

The Elasticsearch backend works with OpenSearch 2.9 as well as other versions that were already compatible.

Others

Hibernate Search BOM

Hibernate Search now offers a BOM providing dependency management for all of its published artifacts. It can be imported as part of your dependency management to keep the versions of Hibernate Search artifacts aligned:

<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 experimental compatibility

Hibernate Search now has incubating compatibility with Amazon OpenSearch Serverless.

Amazon OpenSearch Serverless has certain limitations compared to a regular OpenSearch cluster and may not support all operations a regular cluster does. Compatibility with Amazon OpenSearch Serverless must be enabled explicitly by setting the backend version property:

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

See this section of the reference documentation for more information, in particular about limitations.

Other improvements and bug fixes

  • HSEARCH-4532: Switch to Hibernate ORM 6’s LONG32VARBINARY type for payloads of outbox-polling entities.

  • HSEARCH-4742: Allow the Standalone Pojo Mapper to read configuration properties from a file.

And more. For a full list of changes since the previous releases, please see the release notes.

How to get this release

All details are available and up to date on the dedicated page on hibernate.org.

Getting started, migrating

For new applications, refer to the getting started guide:

For existing applications, assuming you were already using Hibernate Search 6.2 with -orm6 artifacts, upgrading to Hibernate Search 7.0 just requires removing the -orm6 suffix from your Hibernate Search dependencies and updating the version numbers (alternatively you can use the BOM), and of course aligning your other dependencies (e.g. Hibernate ORM), if any.

Information about migration, deprecations and breaking changes is included in the migration guide.

Feedback, issues, ideas?

To get in touch, use the following channels:


Back to top