Hibernate Search brings the power of full text search engines to the persistence domain model by combining Hibernate Core with the capabilities of the Apache Lucene™ search engine.
Full text search engines like Apache Lucene™ are very powerful technologies to add efficient free text search capabilities to applications. However, Lucene suffers several mismatches when dealing with object domain models. Amongst other things indexes have to be kept up to date and mismatches between index structure and domain model as well as query mismatches have to be avoided.
Hibernate Search addresses these shortcomings. It indexes your domain model with the help of a few annotations, takes care of database/index synchronization and brings back regular managed objects from free text queries. Hence, it solves:
- The structural mismatch: Hibernate Search takes care of the object/index translation
- The duplication mismatch: Hibernate Search manages the index, keeps changes synchronized with your database, and optimizes the index access transparently
- The API mismatch: Hibernate Search lets you query the index and retrieve managed objects as any regular Hibernate query would do
Even though Hibernate Search is using Apache Lucene™ under the hood you can always fallback to the native Lucene APIs if the need arises.
Depending on application needs, Hibernate Search works well in non-clustered and clustered mode, provides synchronous and asynchronous index updates, allowing you to make an active choice between response, throughput and index update time.
Last but not least, Hibernate Search works perfectly with all traditional Hibernate patterns, especially the conversation pattern used by Seam.
Hibernate Search News
- Hibernate Search 4.3: simplify clustering and JBoss EAP 6.1 integrations
- Apr 22, 2013 10:57 AM by Sanne Grinovero
- The Hibernate Search 4.3 iteration reached its first milestone: version 4.3.0.Alpha1 is now available for download from Sourceforge.net and Maven rep…