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