From: David Balmain Date: 2005-12-03T00:38:49+09:00 Subject: [ANN] Ferret 0.3.0 (port of Apache Lucene to pure ruby) Hi Folks, I've just released version 0.3.0. Since my last announcement I've done a lot of work on improving the performance. With the C extension, Ferret is now only 2-4 times slower than Lucene. There have also been some performance improvements to the pure Ruby version too for those that aren't able to compile the extension. There have also been some improvements to locking for those who have been having trouble. These changes are detailed below. http://ferret.davebalmain.com/trac/ Dave Balmain == Description Ferret is a full port of the Java Lucene searching and indexing library. It's available as a gem so try it out! To get started quickly read the quick start at the project homepage; http://ferret.davebalmain.com/api http://ferret.davebalmain.com/api/files/TUTORIAL.html == Changes === Locking Now, if you cancel a process while it has a lock open, the lock should still be released. Also, you can set the index to auto flush; index = Ferret::Index::Index.new(:auto_flush => true) This will make sure no locks are kept open after updating the index. You won't need to call flush anymore. This is very useful if you have multiple processes modifying the index as you might have in a Rails application. If you still have lock problems, the best way to get rid of the locks is to use the unlock method of IndexReader. You'll need to pass the directory where the locks are placed. directory = Ferret::Store::FSDirectory.new("/path/to/index") Ferret::Index::IndexReader.unlock(directory)