<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Hibernate Search/Lucene</title>
	<link>http://www.kimchy.org/hibernate_search_lucene/</link>
	<description>Here we go. Here comes the Prozac</description>
	<pubDate>Thu, 20 Nov 2008 13:52:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2</generator>

	<item>
		<title>By: Emmanuel Bernard</title>
		<link>http://www.kimchy.org/hibernate_search_lucene/#comment-199</link>
		<author>Emmanuel Bernard</author>
		<pubDate>Thu, 23 Nov 2006 23:48:58 +0000</pubDate>
		<guid>http://www.kimchy.org/hibernate_search_lucene/#comment-199</guid>
		<description>The assessment is unfair. The Bridge mechanism gives you access to the Document literally.
The Query you pass in is literally the Lucene Query.
I still need to open:
 - the directory providers, so that you can easily access your index (even thought a direct lucene access is possible at that time)
 - the query result manipulation which I haven't touched yet (Besides object return)</description>
		<content:encoded><![CDATA[<p>The assessment is unfair. The Bridge mechanism gives you access to the Document literally.<br />
The Query you pass in is literally the Lucene Query.<br />
I still need to open:<br />
 - the directory providers, so that you can easily access your index (even thought a direct lucene access is possible at that time)<br />
 - the query result manipulation which I haven&#8217;t touched yet (Besides object return)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Minutello</title>
		<link>http://www.kimchy.org/hibernate_search_lucene/#comment-198</link>
		<author>Nick Minutello</author>
		<pubDate>Tue, 21 Nov 2006 00:40:50 +0000</pubDate>
		<guid>http://www.kimchy.org/hibernate_search_lucene/#comment-198</guid>
		<description>The other thing I like about Compass - compared to my admittedly light understanding of Hibernate's search, is that it doesnt try and hide the underlying Lucene index. Ultimately, all of the Lucene functionality is available (Filters, HitCollectors, etc).

The impression I got looking at the Hibernate API was that it was trying to keep the Lucene index "hidden".

Is this a fair asessment?</description>
		<content:encoded><![CDATA[<p>The other thing I like about Compass - compared to my admittedly light understanding of Hibernate&#8217;s search, is that it doesnt try and hide the underlying Lucene index. Ultimately, all of the Lucene functionality is available (Filters, HitCollectors, etc).</p>
<p>The impression I got looking at the Hibernate API was that it was trying to keep the Lucene index &#8220;hidden&#8221;.</p>
<p>Is this a fair asessment?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Minutello</title>
		<link>http://www.kimchy.org/hibernate_search_lucene/#comment-197</link>
		<author>Nick Minutello</author>
		<pubDate>Tue, 21 Nov 2006 00:31:21 +0000</pubDate>
		<guid>http://www.kimchy.org/hibernate_search_lucene/#comment-197</guid>
		<description>Posted a long commet on JL: http://www.javalobby.org/java/forums/m92065159.html#92065159</description>
		<content:encoded><![CDATA[<p>Posted a long commet on JL: <a href="http://www.javalobby.org/java/forums/m92065159.html#92065159" rel="nofollow">http://www.javalobby.org/java/forums/m92065159.html#92065159</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shay Banon</title>
		<link>http://www.kimchy.org/hibernate_search_lucene/#comment-196</link>
		<author>Shay Banon</author>
		<pubDate>Mon, 20 Nov 2006 09:46:21 +0000</pubDate>
		<guid>http://www.kimchy.org/hibernate_search_lucene/#comment-196</guid>
		<description>Compass with with the Hibernate module still allows a user to work with its main data stored in the database. The same programming model exposed by Hibernate Search can be easily done with Compass. So, there is no problem using Compass in such a way.

Regarding the philosophy part, it ties with my previous statement. Compass is open and flexible enough to be used in many different ways, one of them is similar to how Hibernate Search works.

Compass adds support for atomic transactions on top of Lucene. Which is the core for its performance benefits and fast updates. There is more information in Compass reference manual. The next version will also come with an XAResource implementation (though not supporting recovery).

I agree that Hibernate Search is at its infant stage, and that competition if very good. Compass is driven by user demand as well, and I am guessing that many of its features will be required from Hibernate Search as well. Anyhow, just wanted to make things clear with respect to the post on the Lucene mailing list.</description>
		<content:encoded><![CDATA[<p>Compass with with the Hibernate module still allows a user to work with its main data stored in the database. The same programming model exposed by Hibernate Search can be easily done with Compass. So, there is no problem using Compass in such a way.</p>
<p>Regarding the philosophy part, it ties with my previous statement. Compass is open and flexible enough to be used in many different ways, one of them is similar to how Hibernate Search works.</p>
<p>Compass adds support for atomic transactions on top of Lucene. Which is the core for its performance benefits and fast updates. There is more information in Compass reference manual. The next version will also come with an XAResource implementation (though not supporting recovery).</p>
<p>I agree that Hibernate Search is at its infant stage, and that competition if very good. Compass is driven by user demand as well, and I am guessing that many of its features will be required from Hibernate Search as well. Anyhow, just wanted to make things clear with respect to the post on the Lucene mailing list.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Emmanuel Bernard</title>
		<link>http://www.kimchy.org/hibernate_search_lucene/#comment-195</link>
		<author>Emmanuel Bernard</author>
		<pubDate>Mon, 20 Nov 2006 03:29:29 +0000</pubDate>
		<guid>http://www.kimchy.org/hibernate_search_lucene/#comment-195</guid>
		<description>OK Thanks for having correcting me on my Compass misconceptions.

A couple of comments:
There is a way in Hibernate Annotation to plug an XML metadata facility to replace/override annotations. So I guess when someone will need the feature, it should be straightforward.

About retrieving managed objects.
I do believe it is a better model, but that's pure opinion.
Writing the small wrapper you're talking about is trivial until you start thinking about the 1+ n problem. I have work around it somehow, and plan to go beyond when the fetch profile will be exposed to the Hibernate API.
You do not have to reach the DB with Hibernate if used in conjunction with the second level cache or even better because of the conjunction use of the persistence context.

I really like the idea of having your data in your database, if you want a local copy of your DB, then fine, the retrieval "by id", should be just as fast as a Lucene index object reconstruction.

I think you've got a point: Compass is about indexing whatever placing Compass as the central API for object/resource retrieval
Hibernate / Hibernate Search is about using an ORM and indexing/searching the domain model. The angle is quite different in it's philosophy.

The idea of giving a degraded version of the domain model is something I want to avoid for sure (unless asked explicitly through a query). If at some point I support object hydration form the index, I'll make sure to use the lazy loading mechanism of Hibernate to make it transparent to the end user.

When you say atomic transaction you refer to full 2PC including the DB transaction (or other resources) or just the indexes?
I believe the latter.
Regarding a transactional behavior of the Lucene indexes, I'd better see that resolved by the Lucene project (there are some improvements going on I believe). Most people I discussed with are perfectly happy with the current behavior of Lucene, esp since I don't think there is no true Lucene XAResource out there so a full 2PC including multiple heterogeneous resources is out of reach.

Comparing Hibernate Search and Compass is for sure unfair: give me some time ;-)
More seriously, I'm driven by use case and user demand, you can cover a bunch of usecases already with Hibernate Search. Some of the features you've listed are on my radar, I don't see a clear strong use case for some others, and I do have some features of mine that I want to explore first.

"much more performant" Maybe, but why? :-)

Competition is good, and like I said, the user demand came from people having checked Compass. Both cover the problem through different angles.

Cheers

Emmanuel

Cheers</description>
		<content:encoded><![CDATA[<p>OK Thanks for having correcting me on my Compass misconceptions.</p>
<p>A couple of comments:<br />
There is a way in Hibernate Annotation to plug an XML metadata facility to replace/override annotations. So I guess when someone will need the feature, it should be straightforward.</p>
<p>About retrieving managed objects.<br />
I do believe it is a better model, but that&#8217;s pure opinion.<br />
Writing the small wrapper you&#8217;re talking about is trivial until you start thinking about the 1+ n problem. I have work around it somehow, and plan to go beyond when the fetch profile will be exposed to the Hibernate API.<br />
You do not have to reach the DB with Hibernate if used in conjunction with the second level cache or even better because of the conjunction use of the persistence context.</p>
<p>I really like the idea of having your data in your database, if you want a local copy of your DB, then fine, the retrieval &#8220;by id&#8221;, should be just as fast as a Lucene index object reconstruction.</p>
<p>I think you&#8217;ve got a point: Compass is about indexing whatever placing Compass as the central API for object/resource retrieval<br />
Hibernate / Hibernate Search is about using an ORM and indexing/searching the domain model. The angle is quite different in it&#8217;s philosophy.</p>
<p>The idea of giving a degraded version of the domain model is something I want to avoid for sure (unless asked explicitly through a query). If at some point I support object hydration form the index, I&#8217;ll make sure to use the lazy loading mechanism of Hibernate to make it transparent to the end user.</p>
<p>When you say atomic transaction you refer to full 2PC including the DB transaction (or other resources) or just the indexes?<br />
I believe the latter.<br />
Regarding a transactional behavior of the Lucene indexes, I&#8217;d better see that resolved by the Lucene project (there are some improvements going on I believe). Most people I discussed with are perfectly happy with the current behavior of Lucene, esp since I don&#8217;t think there is no true Lucene XAResource out there so a full 2PC including multiple heterogeneous resources is out of reach.</p>
<p>Comparing Hibernate Search and Compass is for sure unfair: give me some time ;-)<br />
More seriously, I&#8217;m driven by use case and user demand, you can cover a bunch of usecases already with Hibernate Search. Some of the features you&#8217;ve listed are on my radar, I don&#8217;t see a clear strong use case for some others, and I do have some features of mine that I want to explore first.</p>
<p>&#8220;much more performant&#8221; Maybe, but why? :-)</p>
<p>Competition is good, and like I said, the user demand came from people having checked Compass. Both cover the problem through different angles.</p>
<p>Cheers</p>
<p>Emmanuel</p>
<p>Cheers</p>
]]></content:encoded>
	</item>
</channel>
</rss>
