Hibernate Search

5.5 series end-of-life

Being maintained as it's included in WildFly. Supports Lucene only, requires Hibernate ORM 5.0.z or 5.1.z

Hibernate Search 5.5 has reached its end-of-life:

  • it is unlikely to see another release;

  • bugs are unlikely to get fixed in this version, even security vulnerabilities;

  • pull requests against this version will be rejected;

  • bug reproducers using this version will be given lower priority.

We encourage you to upgrade to a newer series if possible.

Compatibility

Java 7 or 8
Hibernate ORM 5.0 - 5.1
Apache Lucene 5.2 - 5.4

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

See also the Compatibility policy.

Documentation

Documentation for Hibernate Search 5.5 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.5 has reached its end-of-life: we recommend you use a newer series if possible.

Maven, Gradle...

Maven artifacts of Hibernate Search are published to Maven Central and to the JBoss Maven repository. Refer to the Maven Getting Started guide on the JBoss Wiki for more information on how to configure the JBoss Maven repository.

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.5.8.Final
Hibernate ORM integration
org.hibernate:hibernate-search-backend-jgroups:5.5.8.Final
JGroups backend
org.hibernate:hibernate-search-backend-jms:5.5.8.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.

Zip archive

Direct download is available from SourceForge:

Download Zip archive

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 (2017-08-16): 5.5.8.Final.

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

Lucene upgrade

Hibernate Search 5.5 adds compatibility with Lucene 5, and requires Lucene 5.2, 5.3 or 5.4 to work correctly.

Hibernate ORM upgrade

Hibernate Search now requires Hibernate ORM 5.0 or 5.1 to work correctly.

Out of the box indexing of java.time types

Hibernate Search is now able to automatically provide a sensible mapping for java.time.Year, java.time.Duration java.time.Instant, java.time.LocalDate, java.time.LocalTime, java.time.LocalDateTime, java.time.LocalTime, java.time.MonthDay, java.time.OffsetDateTime, java.time.OffsetTime, java.time.Period, java.time.YearMonth, java.time.ZoneDateTime, java.time.ZoneId, java.time.ZoneOffset.

That means that it includes an out of the box FieldBridge for each of these types, and allows transparent indexing and querying of properties of these types. You can of course customize the indexing by providing your own FieldBridge, as usual.

This feature is only available if you are running on a Java 8 runtime, although all other features of Hibernate Search are still backwards compatible with Java 7.

Sorting improvements

Since Apache Lucene 5.0 (and including 5.3 as we currently require) we can provide a significant performance improvement if you let us know in advance which fields you intend to use for sorting.

For this purpose a new annotation org.hibernate.search.annotations.SortableField is available. If you start using this annotation in your projects you’ll benefit from improved performance, but for those who don’t want to update their mapping yet we will fallback to the older strategy.

This subject is discussed in detail in this {base_url}2015/09/14/sorting-in-hibernate-search-55/[follow-up post].

Encoding null tokens in your index

When using @Field(indexNullAs=) to encode some marker value in the index, the type of the marker is now required to be of a compatible field type as all other values which are indexed in that same field.

This was problematic for `NumericField`s, the ones optimised for range queries on numbers, as we would previously allow you to encode a string keyword like 'null': this is no longer allowed, you will have to pick a number to be used to represent the null value.

As an example for an "age" property you might want to use:

@Field(indexNullAs = "-1")
Integer nullableAge;

Releases in this series

Hibernate Search 5.5 has reached its end-of-life: we recommend you use a newer series if possible.

Back to top