Re: Proposal for the project "Support for full text search in Cayenne"

From: Tomas Jucius (entire..mail.com)
Date: Mon May 08 2006 - 16:14:41 EDT

  • Next message: Andrus Adamchik (JIRA): "[JIRA] Created: (CAY-545) Paginated list - connection is committed before the result set is read"

    Hi,

    I have done research and came to conclusion that implementing a plugin for
    Compass framework would be much more elegant approach than building a facade
    to the existing DB's.

    I'll name main reasons why I draw such conclusion:

    Facade approach:

    1) Because not all DB's have full text search capabilities implementing as a
    facade to existing capabilities would make Cayenne framework inconsistent
    with some DB's. I suppose that one great quality of present framework is
    compatibility with supported databases.

    2) Not elegant approach.

    3) Taking care about all differences between DB's may be time consuming.
    Also future changes in different DB's may lead to error-prone code..

    Compass plugin approach:

    1) Compass allows declaratively map object domain model to the underlying
    Search Engine, synchronizing data changes between Index and different
    datasources. Also implements fast index operations and optimization.

    2) Provides a abstraction on top of the Lucene low level API.

    3) OSEM - ability to map java objects to the search engine through simple
    xml mapping files.

    4) Hibernate ORM framework and OJB tool has compass plugin witch provides
    support for indexing datasource through OSEM and the named frameworks. So we
    can take good points from Hibernate plugin development experience.

    5) Cayenne framework is a natural match to Compass OSEM features. A simple
    Compass::Gps device can index all the data that has both OSEM and ORM
    mapping definition can be easily developed, and if the ORM tool provides
    support for events, then mirroring can be supported as well.

    I would appreciate any notes considering these two or maybe event another
    possible approach.

    Tomas Jucius



    This archive was generated by hypermail 2.0.0 : Mon May 08 2006 - 16:15:04 EDT