We decided to insert another candidate release in the roadmap for two improvements which where too good to leave out
- Lucene 3.1
- Smart object graph analysis to skip expensive operations
Finally released, we've been waiting long for it so that in just a week we where able to provide you with a compatible version of Hibernate Search.
As it seems the usual business with Lucene, many APIs changed. The good news is that it seems Hibernate Search was able to shield users from all breaking changes: code-wise, it's a drop-in replacement to previous versions.
Some things to consider during the migration:
- It's possible that some Analyzers from Lucene and Solr extensions where moved around to other jars, but if you're depending to hibernate-search-analyzers via Maven, again it looks like you shouldn't need to change anything.
- The max_field_length option is not meaningful anymore, see the docs on how to implement something similar if needed.
- Hibernate Search 3.4.0.CR2 actually requires Lucene 3.1
Besides the nice boost inherited from the updated Lucene, our internal engine also got smarter.
It figures possible work to skip in the objects graph, being now much better when reacting to collections update events. See HSEARCH-679 for the hairy details, and many thanks to Tom Waterhouse for a complex functional test and the hard work of convincing me of the importance of this improvement.
There are several interactions between Hibernate Search and Infinispan, above the most obvious usage of Infinispan as a second level cache you can also:
Nothing changed in our code, just a reminder that it's possible to replicate or distribute the Lucene indexes on an Infinispan grid, and it is compatible with both Infinispan 4.2.1.FINAL and with 5.0.0.BETA1
In Infinispan 5 the query engine is Hibernate Search itself: the integration just got much better, making it easier to use and exposing all features from latest Search versions, including for example Faceting and clustering via Infinispan itself. More improvements coming, especially documentation.