On Oct 10, 2006, at 8:03 AM, Yonik Seeley wrote:
Looking forward to progress on Lucy. What is done there could potentially be the a future Lucene index format.
There has actually been a good bit of progress on Lucy, just nobody can see it. :\ My first priority right now is finishing KinoSearch 0.20, and I basically can't do anything else until that's done. Fortunately, a lot of the work going into that effort is likely to help out Lucy.
KS 0.20 will break backwards compatibility with earlier versions, and to minimize the disruption, I'm trying to cram in all the planned API and file-format changes into one release. Those changes will include a version of the flexible indexing format we've been discussing, and a boolean scorer which takes position into account. It already uses the KinoSearch merge model, of course, but I'm also going to incorporate Dave's fixed field numbers. It may take a completely different approach to sorting and range queries, though I haven't worked out all the details on that yet.
While I've been preparing this version, I've been studying Ferret and making KS more Ferret-like wherever possible. The biggest push has been to purge all the C functions taken from Perl's C API; KS used to have them everywhere, but they're almost gone now. Object destruction has been abstracted out in a way that hopefully can be made to work with both Perl's reference-counting scheme and Ruby's mark-and-sweep garbage collector; callbacks from C to [your-language- here] have been similarly generalized. A slew of classes have been refactored -- e.g. KS's PriorityQueue, which used to use Perl scalars as its elements, but now looks a lot more like Ferret's (and Lucene's).
Dave and I talked about collaborating by spelunking each other's libraries, editing, and writing tests. That process is underway, just the code isn't filtering back to the Lucy repository yet. We'll see how soon it does, and eventually, how much code in Lucy negotiates its way into Lucene.
Marvin Humphrey Rectangular Research http://www.rectangular.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]