You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by Andrus Adamchik <an...@objectstyle.org> on 2006/05/08 17:59:48 UTC

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

Hi Tomas,

I suggest that we move this discussion to the dev list (actually you  
being a Cayenne user and participating in the community is a positive  
thing for the proposal).

Regarding the design ... I haven't done enough research myself to be  
fully confident in the design choices. Originally I thought to simply  
build a facade to the existing DB full text search capabilities. Most  
DB's have them ... but many do not, so there has to be some Lucene- 
based least common denominator approach. Folks from the Lucene  
community however recommended to look at Compass framework [2]. So  
another approach may be building a plugin for Compass. Compass looks  
promising, but also pretty complex from the first glance.

I suggest that you'll do some research along these lines and come up  
with the deliverables based on your conclusions.

[1] http://wiki.apache.org/general/TomasJucius/Cayenne/proposal
[2] http://www.opensymphony.com/compass/

Andrus

On May 8, 2006, at 6:54 AM, Tomas Jucius wrote:
> Hello,
>
> I have made proposal for the project "Support for full text search  
> in Cayenne" in Apache wiki. I would be pleased if you could look at  
> it and pass a remark. I want to define well all deliverables, which  
> could be sponsored.
>
>
> With best regards,
> Tomas Jucius


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

Posted by Andrus Adamchik <an...@objectstyle.org>.
My take on that - it doesn't matter. We would also want WebWork,  
Struts, etc. folks to choose Cayenne. Actually the main point is to  
demonstrate the search capability, so even if it is vanilla JSP, it  
will be ok. So I would say Tomas should probably stick with the  
framework he is most comfortable with.

Andrus

On May 9, 2006, at 10:20 PM, Kevin Menard wrote:
> Given that I'm not contributing directly to this, my suggestions  
> probably have little weight.  However, I would suggest either #1 or  
> #3.  #1 is nice because I think ideally we'd like to sell the  
> Tapestry folks on Cayenne over Hibernate and a good solid app will  
> help that.  Additionally, Cayenne & Tapestry are both ASF projects,  
> so it'd nice in that regard.  #2 is not much different from #1, but  
> is non-ASF.
> #3 is nice because nearly all examples use Cayenne in the context  
> of a webapp and it'd be nice to see a good desktop app example.
>
> -- 
> Kevin
>
> On Tue, 09 May 2006 16:15:19 -0400, Tomas Jucius  
> <en...@gmail.com> wrote:
>
>> Hi,
>>
>> I have thought about demonstrating application and I would like to  
>> implement
>> one of these:
>>
>> 1) Applicaton with Tapestry 4 front end. Could possibly change  
>> Tapestry 3
>> example.
>> 2) Application with Wicket 1.2 front end. Could be good Wicket  
>> example.
>> 3) Simple swing application.
>


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

Posted by Kevin Menard <km...@servprise.com>.
Given that I'm not contributing directly to this, my suggestions probably  
have little weight.  However, I would suggest either #1 or #3.  #1 is nice  
because I think ideally we'd like to sell the Tapestry folks on Cayenne  
over Hibernate and a good solid app will help that.  Additionally, Cayenne  
& Tapestry are both ASF projects, so it'd nice in that regard.  #2 is not  
much different from #1, but is non-ASF.  #3 is nice because nearly all  
examples use Cayenne in the context of a webapp and it'd be nice to see a  
good desktop app example.

-- 
Kevin

On Tue, 09 May 2006 16:15:19 -0400, Tomas Jucius <en...@gmail.com> wrote:

> Hi,
>
> I have thought about demonstrating application and I would like to  
> implement
> one of these:
>
> 1) Applicaton with Tapestry 4 front end. Could possibly change Tapestry 3
> example.
> 2) Application with Wicket 1.2 front end. Could be good Wicket example.
> 3) Simple swing application.

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

Posted by Tomas Jucius <en...@gmail.com>.
Hi,

I have thought about demonstrating application and I would like to implement
one of these:

1) Applicaton with Tapestry 4 front end. Could possibly change Tapestry 3
example.
2) Application with Wicket 1.2 front end. Could be good Wicket example.
3) Simple swing application.


[1] http://wiki.apache.org/general/TomasJucius/Cayenne/proposal

Tomas Jucius



On 5/9/06, Andrus Adamchik <an...@objectstyle.org> wrote:
>
> I also tend to lean the Compass way. Could you please update your
> wiki proposal to concentrate on Compass deliverables. Also one thing
> it would be nice to have in deliverables is a sample Cayenne
> application that demonstrates how Cayenne and Compass work side by
> side (e.g. looking up DataObject via Compass and then using it in a
> normal way).
>
> Andrus
>
>
> On May 8, 2006, at 4:14 PM, Tomas Jucius wrote:
>
> > 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
>
>

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

Posted by Tomas Jucius <en...@gmail.com>.
Hi,

Yes, in some point Compass is high level abstraction layer of the Lucene low
level API. Where is no much info resources online, but reference at Compass
website is really good. Reference says that with Compass it is possible to
extract the required property from the Object model at run-time and insert
required meta data into the search engine index.
I have been reading very good reference manual at
http://www.opensymphony.com/compass/versions/0.9.0/html/index.html and also
page concerning OSEM at
http://www.opensymphony.com/compass/versions/0.9.0/html/core-osem-xml.html#meta-dataand
I haven't noticed any heavy drawbacks about OSEM.

I would appreciate any remarks if possible.


Tomas Jucius

On 5/9/06, Cris Daniluk <cr...@gmail.com> wrote:
>
> I'm a little concerned about the seeming limitations of Compass and
> OSEM in general... I haven't had the time to do as much research as
> I'd like, but it seems like its heavily geared toward Lucene and
> doesn't support the complex metadata more "enterprise" search engines
> might use.
>
> Tomas, are there any articles or resources that you might have to give
> me a primer on its capabilities?
>
> Thanks!
>
> Cris
>
> On 5/9/06, Andrus Adamchik <an...@objectstyle.org> wrote:
> > I also tend to lean the Compass way. Could you please update your
> > wiki proposal to concentrate on Compass deliverables. Also one thing
> > it would be nice to have in deliverables is a sample Cayenne
> > application that demonstrates how Cayenne and Compass work side by
> > side (e.g. looking up DataObject via Compass and then using it in a
> > normal way).
> >
> > Andrus
> >
> >
> > On May 8, 2006, at 4:14 PM, Tomas Jucius wrote:
> >
> > > 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
> >
> >
>

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

Posted by Cris Daniluk <cr...@gmail.com>.
I'm a little concerned about the seeming limitations of Compass and
OSEM in general... I haven't had the time to do as much research as
I'd like, but it seems like its heavily geared toward Lucene and
doesn't support the complex metadata more "enterprise" search engines
might use.

Tomas, are there any articles or resources that you might have to give
me a primer on its capabilities?

Thanks!

Cris

On 5/9/06, Andrus Adamchik <an...@objectstyle.org> wrote:
> I also tend to lean the Compass way. Could you please update your
> wiki proposal to concentrate on Compass deliverables. Also one thing
> it would be nice to have in deliverables is a sample Cayenne
> application that demonstrates how Cayenne and Compass work side by
> side (e.g. looking up DataObject via Compass and then using it in a
> normal way).
>
> Andrus
>
>
> On May 8, 2006, at 4:14 PM, Tomas Jucius wrote:
>
> > 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
>
>

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

Posted by Andrus Adamchik <an...@objectstyle.org>.
I also tend to lean the Compass way. Could you please update your  
wiki proposal to concentrate on Compass deliverables. Also one thing  
it would be nice to have in deliverables is a sample Cayenne  
application that demonstrates how Cayenne and Compass work side by  
side (e.g. looking up DataObject via Compass and then using it in a  
normal way).

Andrus


On May 8, 2006, at 4:14 PM, Tomas Jucius wrote:

> 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


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

Posted by Tomas Jucius <en...@gmail.com>.
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