Hi Paul,
On Oct 21, 2008, at 9:57 AM, Paul Libbrecht wrote:
Vincent,
is this livable with the dynamic object system of XWiki?
HQL is hard in XWiki but it's immensely powerful.
I used to hate Hibernate before working with XWiki but I can't find
any equivalent yet.
As far as I know joins would be missing in compass.
So would you make the xwiki query language (I just heard whispers
about it) as a prerequisite before moving to compass or another?
The idea is not to replace the storage... :)
Only to improve our current lucene search plugin.
Thanks
-Vincent
Le 21-oct.-08 à 09:43, Vincent Massol a écrit :
> I think it would be nice to look at Compass
(
http://www.compass-project.org/overview.html
> ) or Hibernate Search (
http://www.hibernate.org/410.html) for the
> future.
>
> I think Compass is better for us since we don't want to rely on
> Hibernate for our storage in the future.
>
> Here are some features of Compass:
>
> "
> - 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), 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.
> "
>
> The last point is especially important for our distributed lucene
> searcg feature developed during the GSOC.
>
> Thanks
> -Vincent