Hibernate Search is a community driven project and as such the roadmap constantly evolves to reflect the users needs.
You can find a finer grained roadmap in our issue tracker but this page is a good and concise view of where we are going.
Dates are generally omitted: while milestones are released regularly, the Final release is tagged when it’s considered stable.
- Elasticsearch performance
We applied some performance improvements in version 5.8 but there are several more interesting ideas to explore which could provide a radical boost.
- WildFly Swarm
- Modularity related enhancements
Some code needs to be moved to different jars to improve the experience with OSGi, JBoss Modules and eventually Java 9 (Jigsaw) users. For example the integration with Apache Tika should be moved to allow loading additional extensions which haven’t been originally bundled with Hibernate Search.
- JSR-352 (Batch Applications for the Java Platform) integration
Since last year, Mincong Huang worked on a JSR-352 job for Hibernate Search mass indexing. We plan to do some performance testing (and optimization if necessary), then merge this work as a new module.
Compatible with Hibernate ORM 6, Apache Lucene 7.
- API Refresh
A significant API refresh is planned to better abstract from the Lucene API so that alternative backends such as Elasticsearch can be used without having Lucene on your classpath. This will also benefit Lucene users, as the abstraction should allow us to automatically apply more optimisations without the user needing to be a Lucene expert.
- Upgrade to Apache Lucene 7
To provide the full power of some of the new features in Apache Lucene 7, some API changes are needed. This includes some API improvements which could have been useful since the upgrade to Lucene 5; since we only apply breaking API changes in major releases these had to wait.
- Free-form indexing
We’re planning to decouple the metadata definition from annotated java classes, to allow better indexing of other more flexible sources; for example to make it easier to index data structured in the JSON format, or other formats whose schema is not known at compile time.
- Join operations
Expose Lucene’s index-time and query-time join capabilities.