Описание тега hibernate-search
http://hibernate.org/search/ provides synchronization between entities managed by Hibernate ORM and full-text indexing services like Apache Lucene and Elasticsearch.
It will automatically apply changes to indexes, which is tedious and error prone coding work, while leaving you full control on the query aspects. The development community constantly researches and refines the index writing techniques to improve performance.
Mapping your objects to the indexes is declarative, using a combination of Hibernate Search specific annotations and the knowledge it can gather from your existing Hibernate/JPA mapping.
Queries can be defined by any combination of:
- "native" Apache Lucene queries
- writing "native" Elasticsearch queries in JSON format (if using Elasticsearch, which is optional)
- using a DSL which abstracts the previous two generating optimal backend specific queries
Query results can include projections to be loaded directly from the index, or can materialize fully managed Hibernate entities loaded from the database within the current transactional scope.
Hibernate Search is using Apache Lucene under the cover; this can be used directly (running embedded in the same JVM) or remotely provided by an Elasticsearch server over its REST API.
Hibernate Search is open source and contributions are welcome both as patches or comments and suggestions.
For latest news follow the Hibernate team blog.