Thanks. I'm looking forward to your reply. :)
2006/11/23, Emmanuel Bernard <[EMAIL PROTECTED]>:
Hi Jin, I'll answer your email on the hibernate dev list. See you there :-) Jin Yiqing wrote: > > 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.Queryinterface, > > > 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] > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]