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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
