Re: WO & Lucene
Re: WO & Lucene
- Subject: Re: WO & Lucene
- From: Petite Abeille <email@hidden>
- Date: Wed, 27 Oct 2004 15:31:53 +0200
On Wed, 27 Oct 2004 08:53:47 -0400, Dov Rosenberg
<email@hidden> wrote:
> Interesting idea, the native Lucene API probably wouldn't be too hard to
> wrap some EO stuff around. The biggest concern I would have is the overhead
> associated with EOF - especially when Lucene can handle millions of records.
> My experience with bulk operations in EOF hasn't been too positive.
Yes, bulk operations are not that efficient in EOF "out-of-the-box".
The only somewhat reasonable way I found so far (beside bypassing EOF
altogether) is to leverage the EOAccess layer directly. Things like
EOAdaptorChannelEnumerator [1], batch fetching EOFaults [2] [3], etc.
> Lucene is pretty efficient as is. Perhaps a more WOCentric API wrapper would
> be better - i.e. NSArrays, etc.
<rant>NSArray must die!</rant>
As far as EOF and Lucene integration goes, a bare minimum approach
could entail the following:
- Use EOModel to describe what to index in Lucene given an EOEntity.
- The primary key (aka Keyword) of a Lucene Document could be the
EOGlobalID values of the source entity.
- An associated EOAttribute custom data type could automatically turn
the above primary key into the a EOFault referencing the source EO.
- a translation layer between EOQualifier and
org.apache.lucene.search.Query for seamless fetching.
At the end of such exercise, one could access a Lucene index in the
same way as any other data source by using a regular
EOFetchSpecfication. Is that not what all those layers upon layers of
abstraction are for :)
PA.
[1] http://www.omnigroup.com/mailman/archive/eof/2002-June/002785.html
[2] http://www.omnigroup.com/mailman/archive/eof/2002-June/002784.html
[3] http://www.omnigroup.com/mailman/archive/eof/2002-June/002782.html
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden