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 6.0.0.Beta4.

This release mainly fixes a performance regression in the Lucene backend and introduces an API for plugging in custom behavior on failures during mass indexing.

Getting started with Hibernate Search 6

If you want to dive right into the new, shiny Hibernate Search 6, a good starting point is the getting started guide included in the reference documentation.

Hibernate Search 6 APIs differ significantly from Search 5.

For more information about migration and what we intend to do to help you, see the migration guide.

What’s new

Fixed a performance regression in the Lucene backend

A performance regression was introduced in version 6.0.0.Beta3 that would slow down search queries performed on large indexes. This was fixed in HSEARCH-3797.

Performance for projections on nested fields was also improved as part of HSEARCH-3786.

Custom behavior on mass indexing failure

As of HSEARCH-3729, the mass indexer allows customizing the behavior on failure through the new MassIndexingFailureHandler interface.

See the failureHandler parameter in the MassIndexer documentation.

Version upgrades

No version upgrades this time.

Hibernate Search 6 requires ORM 5.4.4.Final or later to work correctly. Earlier 5.4.x versions will not work correctly.

Backward-incompatible API changes

  • HSEARCH-3629: Search query loading options (cache lookup, fetch size, …​) are now passed through a dedicated loading(…​) method accepting a lambda expression. See this section of the documentation for more information. The previous syntax still works, but has been deprecated and will be removed soon.

  • HSEARCH-3461: The optimize index operation has been renamed to mergeSegments throughout the API. Also, by default, index segments will no longer be merged after mass indexing. This can still be enabled explicitly through massIndexer.mergeSegments For more information about this operation, see this section of the documentation.

Documentation

Other improvements and bug fixes

  • HSEARCH-3802: Elasticsearch backend: query.fetchTotalHitCounts() used to always fail when a timeout was set, even when the fetch did not time out. This was fixed.

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.

Feedback, issues, ideas?

To get in touch, use the following channels:


Back to top