Hi,Emmanuel
i think you did a very greate job!  Since i am now working on a system that
using lucene to implement a search engine, i would like to know some more
details about Hinbernate Search.

 I have read some of the code in Hinbernate 3.2GA release, the code is
pretty cool, but  there is one thing i doubt:

 For the update operation Hibernate Search used remove & update.which refer
to Lucene's deleteDocuments method.  That's ok and i also could only find
this way to update the index data. This will works fine when the operation
does not have high frequency.

But as i know  the remove operation in lucene only marked a tag for the
deleted document without actually delete the data ofr index files.  We know
in some systems the data would be updated in a very high  frequency(eg. an
traffic status query system), then it will not take a long time that the
index will be filled with lots of expired document data,  even if the data
update is not as fast as a traffic status, i think this problem is still
very critical since things we stored in databases are always updating.

Is there any way to solve this in Hibernate Search?


Richie


2006/11/19, Emmanuel Bernard <[EMAIL PROTECTED]>:

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]


Reply via email to