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: milestones are released regularly, the Final release is tagged when it’s considered stable.
- Better control over indexing
For some use cases where maintenance downtime during mass indexing is not acceptable, Hibernate Search needs to be able to create a new copy of the index, index everything into that new copy, and replace the old copy with the new one atomically, so that clients can continue querying the old index while mass indexing is in progress, and never see an empty index (but only, at worst, an out-of-date index). See HSEARCH-3499.
- Hibernate Search for arbitrary data sources
Experimental module allowing integration with a datastore that is not accessed using Hibernate ORM.
Users will need to put in more work to configure it, in particular they will need to capture insert/update/delete events themselves.
Nevertheless, this could be useful for people looking to add full-text search to any application, not just applications relying on Hibernate ORM.
See also HSEARCH-1800.
- Search query features
These are rather important features when using Hibernate Search with arbitrary data sources, where loading data from the original data source might not be possible:
- Mass indexing improvements
- Upgrade baseline requirements
Upgrade to newer versions of dependencies and drop compatibility with older technologies. In particular:
- Search query features
Add more features to the Hibernate Search DSL. In particular:
- Reactive Search
Experiment with integrating Hibernate Search with Hibernate Reactive.
- More advanced mapping
Allow more complex setups when it comes to mapping entities to indexes. In particular:
- Some specialized field types
Add commonly used field types. In particular:
Tracing of search queries and indexing requests to enable easier debugging and performance investigation.
- 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.
- Debezium integration
Asynchronous indexing driven by Change Data Capture in the database instead of Hibernate ORM events.
This would allow capturing changes caused by any SQL command, not just those issued by Hibernate ORM.