Main Overview Wiki Issues Forum Build Fisheye
Simple Compass provides a simple API for working with Lucene. If you know how to use an ORM, then you will feel right at home with Compass with simple operations for save, and delete & query.
Lucene Building on top of Lucene, Compass simplifies common usage patterns of Lucene such as google-style search, index updates as well as more advanced concepts such as caching and index sharding (sub indexes). Compass also uses built in optimizations for concurrent commits and merges.
Mapping Compass provides support for mapping of different data "formats" - indexing and storing (caching) them in the Search Engine: Object to Search Engine Mapping (using annotations or xml), JSON to Search Engine Mapping (explicit or dynamic), XML to Search Engine Mapping (using simple xpath expressions), and the low level Resource to Search Engine Mappping.
Tx Compass provides a transactional API on top of the Search Engine supporting different transaction isolation levels. Externally, Compass provides a local transaction manager as well as integration with external transaction managers such as JTA (Sync and XA), Spring, and ORM ones.
ORM Compass integrates seamlessly with most popular ORM frameworks allowing automatic mirroring, to the index, of the changes in data performed via the ORM tool. Compass has generic support for JPA as well as embedded support for Hibernate, OpenJPA, TopLink Essentials, and EclipseLink allow to add Compass using three simple steps.
Spring Compass integrates seamlessly with Spring. Compass can be easily configured using Spring, integrates with Spring transaction management, has support for Spring MVC, and has Spring aspects built in for reflecting operations to the search engine.
Distributed Compass simplifies the creation of distributed Lucene index by allowing to store the Lucene index in a database, as well as storing the index simply with Data Grid products such as GigaSpaces, Coherence and Terracotta.