I forgot a couple of things.
I do not think that all your object properties belongs to the Index, and
some of them will be put in the index with information degradation (ie
store year/month rather than the whole date). So I do not believe there
is a bidirectional relationship between your domain model and your index
documents (for size, efficiency and accuracy purpose).
For that matter, Compass cannot really truly index your database backed
domain model and give back the object to you. Hibernate Search can
because it delegate the object hydration to Hibernate Core.
Of course that's my opinions, and some people can disagree ;-)
Emmanuel Bernard wrote:
Hi,
I am not really familiar with Compass I haven't really looked at the
code, Hibernate Lucene (now renamed Hibernate Search) started from a
user demand. I had some in depth discussions though, with some users
that evaluated both Compass and Hibernate Search that helped me drive
its design.
Here are the arguments in favor of Hibernate Search:
1. not Yet Another API to deal with your domain model
If you already use an ORM (JPA or Hibernate), you are familiar with
those APIs. Using compass implies that you have to use a different set
of API to play with the object lifecycle (CRUD).
Hibernate Search is integrated with the org.hibernate.Query interface,
and all the CUD operations on the index are triggered from the Hibernate
CUD operations.
2. Metadata
Metadata are minimal and fit particularly well through annotations, so
you don't have yet another XML representation of ther same domain model
(Compass might now have annotations support, you'll have to check)
3. it's all about managed objects (ie managed by the Session or the
EntityManager)
Hibernate Search gives you back objects managed by the Session, so any
change made to them will (by default) be synchronized with the database,
this is the normal behavior of an ORM, but is not what you have from a
Compass search.
This approach fits well with the JBoss Seam approach of having all the
application around the domain model and EJB 3.0
4. Not too much abstraction
From what I've heard, Compass borrow a lot of its design / classnames
from Hibernate/Spring/Lucene. Compass tries to abstract those 3
techlnologies (at least Hibernate and Lucene), by providing its own
infrastructure.
What am trying to do with Hibernate Search is to keep the abstraction as
light as possible. For advanced Lucene query you'll have to use pure
Lucene APIs, which is possible / natural with Hibernate Search
I invite you to check these links (which I expect to release soon)
http://www.mail-archive.com/hibernate-dev%40lists.jboss.org/msg00392.html
and for the future (but flexible)
http://www.mail-archive.com/hibernate-dev%40lists.jboss.org/msg00393.html
HTH
Emmanuel
Lukas Vlcek wrote:
>
> Emanuael,
> I would be glad to hear your answer here (on user list).
> Regards,
> Lukas
>
> ---------- Forwarded message ----------
> From: Emmanuel Bernard <[EMAIL PROTECTED]>
> Date: Nov 13, 2006 11:07 PM
> Subject: Re: Hibernate Lucene trademark issues
> To: java-dev@lucene.apache.org, [EMAIL PROTECTED]
>
> Hi Lukas,
> I'd be happy to answer your question, but I don't think Lucene dev is
> the appropriate area for that kind of discussion.
> let's move this discussion here
> http://forum.hibernate.org/viewforum.php?f=9 (or in the Lucene User list
> if you want to).
>
> Emmanuel
>
> Lukas Vlcek wrote:
> >
> > Hi Emmanuel,
> >
> > I am interested in you solution. I have a plan to use lucene and
> hibernate
> > in my next project and search will play very important role
> > (*stake-holder*
> > functionality). I have heard of
> > comapss<http://www.opensymphony.com/compass/>project which introduces
> > searching (lucene) layer on top of hibernate also.
> > I haven't had a change to study it in detail yet.
> >
> > Do you think you could give me some high level comments about your
> > motivation for implementing lucene search directly in hibernate code,
> > couldn't you just use compass project? Is there any fundamental
> difference
> > between your approach and comapss?
> >
> > Many thanks,
> > Lukas
> >
> > On 11/6/06, Emmanuel Bernard <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi guys,
> > > I'm Emmanuel Bernard from JBoss.
> > > I'm the current lead developer of the Hibernate Lucene integration
> > module.
> > > The goal of this project is to facilitate the integration of a
search
> > > capability to Hibernate based applications. And guess what, I use
> Lucene
> > > ;-)
> > >
> > >
> >
>
http://www.hibernate.org/hib_docs/annotations/reference/en/html/lucene.html
> > >
> >
>
http://www.mail-archive.com/hibernate-dev%40lists.jboss.org/msg00392.html
> > >
> > > I realized this week end that the 'Hibernate Lucene' name might
> infringe
> > > the Apache Lucene trademark policy.
> > > http://www.cafepress.com/lucene/ seems to state that Lucene is a
> > > trademark of the Apache Software Foundation (nice golf shirt BTW)
> > > But I wasn't able to find any document explaining the fair use
of the
> > > Lucene brand (the license as well as the notice seem to be silent on
> > > this subject).
> > >
> > > Even if Lucene in not trademarked, what do you consider a fair
use of
> > > your brand? I'm happy to rename my project, I guess the initial
choice
> > > was more a tribute to your project than anything else.
> > >
> > > Emmanuel
> > >
> > > PS: please forward this email to the appropriate persons if this
> is not
> > > the case already (PMC or whatever)
> > >
> > >
> > >
---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]