lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Kirchgessner <roki...@gmx.net>
Subject Re: Implementation in C & Some Questions
Date Sun, 13 Nov 2005 02:07:54 GMT
Hi Dave,

I've looked at your Ferret project. Great work!

I've browsed somewhat through the C-code,
looks quite familiar to me. What were the problems
you've mentioned in your mail? I may not have
noticed them, perhaps it could help us make the
code better if we shared ideas.

If you're interested, you'll find my sources at

http://sourceforge.net/projects/phplucene.

The name reflects the fact, that I've made
a little study in PHP first (was much too slow).
The C-code is in Liblucene project.

The last useful version is tagged as RELEASE-0-1.
It supports searching, writing and reading indexes
in Lucene 1.2 file format and we use it in production
environment. But I stopped the developement and
support of this code two months ago. It was my first
project in C and after I had gained experience I've
realized how many things could be done better.

Now I'm rewriting the code and hope to release
first cleaned up version by the end of december.
We launch a CD-product in january, and I want
to ship a version which is in sync with Lucene 1.9,
to avoid backwards-compatibility problems with
our customers.

The main goals for rewrite are:

- memory management by APR-pools
- consistent error handling
- APR-like coding style
- use of abstract types

So if you want to get a feeling of what it's like,
look at the latest sources:

atom.c
bitvector.c
directory.c
document.c
field.c
field_infos.c
filter.c
input_stream.c
lucene_list.c
output_stream.c
segment_infos.c
segment_term_enum.c
term.c
term_infos_reader.c
term_infos_writer.c

The most important change is the decision
to accept the dependency on APR. The
library must be portable. Without APR it's a
pain. With APR it's fun. And APR is a good
piece of work from which I've learned much.

Please tell me whether I can help you with
benchmarking the performance. We have
never made a comparison. I guess the
old code will not be of any help to you if
you use newer file formats. But then we
can do it in a couple of weeks.

The longterm goals of the project are
(in priority order):

- full functionality of Java Lucene
- file locking
- thread support
- php_lucene for PHP
- mod_lucene for apache

I appreciate any comments, suggestions,
critics and ideas.

Regards,

Robert






---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message