Since this is the Ferret mailing list I should preface this by that
the donation of time and help by people like Jens K., Jan P.
and all the other people who have contributed to Ferret is just as
valuable to me as any financial assistance. Thanks.
Ferret has been a labour of love but it has taken up a lot more of my
life than I ever expected. At in excess of 50,000 lines of code, I
believe it is one of the largest Ruby projects, especially with only a
single developer. (previous version before rewrite had >70,000 LOC so
added together that is a lot of work). I would love to keep pushing
Ferret forward at the rate it has been going but other things are
going to have to start taking priority (like putting food on the
table). If you find Ferret useful in your application and you aren’t
able to contribute with the development, please consider making a
donation at the Ferret website:
So where do I see Ferret going in the future? I’d really like to build
an object-database based on Ferret, with ActiveRecord and Og bindings.
- Fixes the current DRY problems with Ferret. ie, should you store
data in the Ferret index to take advantage or highlighting? Or build
your own highlighter so that the data isn’t stored in two places.
- Simplifies things. You’ll be able to forget about IndexReaders,
IndexWriters, file-locking, etcetera. Just create the database as you
usually would and you have Ferret full-text search built in.
- Range queries just work. No need to pad numbers or format dates
- Sort just works. And it won’t take forever to build the
sort-index (currently a problem on very large indexes).
- Performance, performance, performance. As people are often
pointing out, the bottle neck in many applications falls in the data
access layer. Mapping relational database schemas to Ruby objects (or
any OO language for that matter) can be very expensive at run-time. A
good object database should easily outperform even SQLite. (and I’m
being very cautious here)
Right now, I’d need to raise at least 5 figures before I’d consider
this undertaking so please send some encouragement my way if you would
be interested in something like this. Otherwise I’d appreciate any
kind of contribution, financial or assistance with development. In the
meantime I will continue to improve test coverage and Ferret
documentation, fix bugs and help people on the Ferret mailing list.