||It has been suggested that this article be merged with Elasticsearch. (Discuss) Proposed since December 2015.|
||The topic of this article may not meet Wikipedia's notability guidelines for products and services. (July 2008)|
|This article needs additional citations for verification. (August 2014)|
|Stable release||2.2.0 / April 7, 2009|
|Type||Search and index|
|License||Apache License 2.0|
Compass provides a simple API for working with Lucene (similar to APIs provided by ORM libraries). It has built in support for mapping different data "formats" into the search engine such as OSEM - Object to Search Engine Mapping (using annotations or xml), XSEM - XML to Search Engine Mapping (using simple xpath expressions), JSEM - JSON to Search Engine Mapping and the low level RSEM - Resource to Search Engine Mapping.
Compass integrates with ORM frameworks allowing for a single API to index all the content mapped by both the ORM and Compass. It also provides automatic mirroring of changes made through the ORM API into the search engine. Compass has generic support for JPA and embedded support for Hibernate, OpenJPA, TopLink, and EclipseLink.
Compass supports a distributed Lucene index (both pure Lucene and using Compass) by allowing storage of the Lucene index within data grid products such as GigaSpaces, Oracle Coherence Data Grid, and Terracotta. There is also support for distributed and collocated indexing and searching.
Compass provides extensive integration with the Spring Framework, including transaction management, Spring MVC, and Spring aspects for reflecting operations to the search engine.