Hibernate Search

5.5 series stable

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

Compatibility

Java 7+
Hibernate ORM 5.0 - 5.1
Apache Lucene 5.2 - 5.4

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

Documentation

Documentation for this specific series 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

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 Maven.

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

Zip archive

Direct download is available from SourceForge:

Download Zip archive

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

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 JIRA instance.

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;

Migrate

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

Releases in this series

Back to top