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
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs