Hibernate Search

5.6 series end-of-life

Introduces experimental support for Elasticsearch, last release supporting Hibernate ORM 5.0.z or 5.1.z

Compatibility

Java 7 or 8
Hibernate ORM 5.0 - 5.1
Elasticsearch server 2.0 - 2.4
Apache Lucene 5.5

Not compatible with your requirements? Have a look at the other series.

See also the Compatibility policy and Maintenance policy.

Documentation

Documentation for Hibernate Search 5.6 can be accessed through the links below:

HTML PDF API (JavaDoc)

You can find more documentation for all series on the documentation page.

How to get it

Hibernate Search 5.6 has reached its end-of-life: we recommend that you upgrade to a newer series if possible.

See also the Maintenance policy.

Maven, Gradle...

Maven artifacts of Hibernate Search are published to Maven Central. Most build tools fetch artifacts from Maven Central by default, but if that's not the case for you, see this page to configure your build tool.

You can find the Maven coordinates of all artifacts through the link below:

Maven artifacts

Below are the Maven coordinates of the main artifacts.

org.hibernate:hibernate-search-orm:5.6.6.Final
Hibernate ORM integration
org.hibernate:hibernate-search-elasticsearch:5.6.6.Final
Elasticsearch integration
org.hibernate:hibernate-search-backend-jgroups:5.6.6.Final
JGroups backend
org.hibernate:hibernate-search-backend-jms:5.6.6.Final
JMS backend

All Maven artifacts of this project released after 2022-01-26 are signed.

To verify signed Maven artifacts, head to this page.

Direct download

A ZIP archive containing all JAR files, documentation and source is available from SourceForge:

Download ZIP archive

Individual Maven artifacts may be downloaded directly from the Maven repository:

Maven Central subdirectory

See here for how to download all dependencies of your Maven project to a local directory on your filesystem.

See here for how to download an explicitly listed set of artifacts to a local directory on your filesystem.

More information about specific releases (announcements, download links) can be found here.

Migrating

If you need to upgrade from a previous series, please refer to the migration guide:

HTML

What's new

Latest release announcement (2018-09-10): 5.6.6.Final.

A detailed list of new features, improvements and fixes in this series can be found on our issue tracker.

Experimental Elasticsearch integration

A new, experimental Elasticsearch integration was introduced in this series.

With the Elasticsearch integration, rather than indexing your entities directly by managing the Lucene resources, Hibernate Search will be sending RPCs to an Elasticsearch cluster to achieve a very similar purpose: after all it is also Lucene based, so the feature match is extremely close!

Since Hibernate Search will transparently map all the current features to this new alternative backend, you will be able to switch to a new architecture with only minimal changes in your applications. For most users the differences will be mostly in configuration details.

When using Elasticsearch, Hibernate Search will need to send RPCs over the network to run queries and index updates, but on the other hand you benefit from Microservices - style decoupling and all the nice features that Elasticsearch can provide in terms of running and managing an horizontally scalable cluster.

To know more about this integration, check out the Elasticsearch chapter in the documentation.

Sort DSL

The QueryBuilder interface now has an additional sort() method, allowing to easily build sort definitions regardless of the underlying technology (raw Lucene or Elasticsearch), and without worrying about numeric field types:

QueryBuilder builder = fullTextSession.getSearchFactory()
  .buildQueryBuilder().forEntity(Book.class).get();
Query luceneQuery = builder.all().createQuery();
FullTextQuery query = fullTextSession.createFullTextQuery( luceneQuery, Book.class );
Sort sort = builder
  .sort()
    .byField("author").desc() // Descending order
    .andByField("title") // Default order (ascending)
  .createSort();
query.setSort(sort);
List results = query.list();

You can find more information in this blog post and in the documentation

Lucene upgrade

The Lucene dependency was upgraded to 5.5.

Also, do not think Lucene was forgotten in this series, since there were several bug fixes and performance improvements. See the release notes for details.

Async reader strategy

A new async reader strategy has been added for the Lucene integration, bringing performance boosts when you are okay with your queries being run on an out-of-date index (how much out-of-date is configurable).

Refer to the documentation for more information.

Releases in this series

Hibernate Search 5.6 has reached its end-of-life: we recommend that you upgrade to a newer series if possible.

See also the Maintenance policy.

Back to top