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 tagged and uploaded all artifacts for both:

  • Hibernate Search 4.4.0.Final - to be used with Hibernate ORM 4.2.x (JPA 2) and application servers using this version of ORM (JBoss EAP 6.1, JBoss AS 7.1)
  • Hibernate Search 4.5.0.Alpha1 - now compatible with Hibernate ORM 4.3 early betas (JPA 2.1) and application servers using it (WildFly 8.0.0.Beta1)

Hibernate Search 4.4.0.Final

Looking at the Migration Guide this is going to be an easy upgrade for all 4.3 users: once again the API is very stable. We would therefore advise all users to upgrade and take advantage of all the improvements at minimal pain, also to be able to address the couple of small deprecations in an iterative approach.

<dependency>
 <groupId>org.hibernate</groupId>
 <artifactId>hibernate-search-orm</artifactId>
 <version>4.4.0.Final</version>
</dependency>

Or download the distribution from Sourceforge.

The major new features

The 4.4 development cycle focused on three main features:

Dynamic index sharding

Very powerful, allows you to improve scalability and/or roll your own custom multi-tenancy policies on how to split data across indexes. Read the introductory blog post and the more advanced example.

Metadata API

You can now read through the Metadata API how each indexed entity is being mapped to the index. This is primarily meant for other framework and tooling integration, but is also useful if you want to generate your own advanced queries without being coupled to your specific model, for example to target all fields you can find out which fields there are. A practical example can be found on this blog post.

JBoss Modules for easy deployment

We had this as experimental feature in 4.3, it looks like quite solid now. The idea is to add Hibernate Search and its main dependencies like Apache Lucene and the custom Infinispan Directory as isolated modules in your JBoss application server so that you don't have to include any Search related jar in your deployments. It will wire-up classloader correctly to the other depending modules like Infinispan Core, JGroups and Hibernate ORM, and also you can include multiple different versions in the same container: module ids include versions! All it takes to access the module is a single line in the Manifest of your deployment, as explained in the reference documentation.

Bugfixes and minor improvements

There is quite a list of minor issues resolved, to summarize changes since 4.3.0.Final:

  • purge operations failing on @ContainedIn entities
  • Embedded ElementCollection (with FieldBridge) wouldn't trigger an index update
  • Some classloading fixes
  • AppliedOnTypeAwareBridge not being applied on Class Bridges, and didn't have norms or analyze methods.
  • Improve convergence of dependencies, remove some unnecessary dependencies
  • QueryBuilder more friendly towards super classes of indexed types
  • Improved graceful recovery from errors during document building
  • Lots of clarifications in the documentation

Lots of minor upgrades across our dependencies: Hibernate ORM to 4.2.6.Final, Infinispan 5.3.0.Final, Apache Tika 1.4, Apache Avro 1.7.5, JGroups 3.3.5.Final, Narayana 4.17.7.Final, JBoss Logging 3.1.0.GA, .. all latest stable versions. Apache Lucene stays stable at version 3.6.2.

Hibernate Search 4.5.0.Alpha1

This is quite similar to Hibernate Search 4.4.0.Final, but is compatible with the latest Hibernate ORM 4.3.0.Beta5 and Infinispan 6.0.0.CR1, making it suitable for usage on WildFly 8.0.0.Beta1. Hibernate 4.4.0.Final is NOT compatible with these, sorry we tried hard but it wasn't technically possible without major changes in the previous (stable) versions of the ORM and Infinispan dependencies, on top of which you'd have had to wait for another WildFly release so we decided to accelerate the 4.5 release cycle instead.

<dependency>
 <groupId>org.hibernate</groupId>
 <artifactId>hibernate-search-orm</artifactId>
 <version>4.5.0.Alpha1</version>
</dependency>

Or download the distribution from Sourceforge.

Hibernate Search 4.5.0.Alpha1 also includes JBoss Modules to simplify deployment on the application server, but these are strictly meant for WidlFly only (please forgive the name and documentation confusion for now).

What's next?

Version 4.5 will not receive much attention other than

  • keeping up with required changes for compatibility with latest Hibernate ORM and WildFly
  • improve (experimental) Infinispan automatic configuration
  • what you might want to contribute

Our main focus is going to be Apache Lucene 4 compatibility, therefore we'll create a 4.5 branch and from today master is going to be Hibernate Search 5.0.0-SNAPSHOT.

To propose changes and join the development team get in touch on the developer's mailing list. We expect high standards but are willing to help you getting there: any development question is welcome. For usage related questions or if you're unsure write on which list is more appropriate write us on the forums.

The issue tracker is JIRA and all code is on GitHub: pull requests and any feedback welcome.


Back to top