Jens Krämer

acts_as_ferret 0.4.1

 |  ferret, rails

Besides several small tweaks and fixes, this release introduces index versioning to the DRb server. Now everytime you call MyModel.rebuild_index, a new index is built in the background. During that process the original index is still in place, so ideally nobody will notice. Once the rebuild is done, acts_as_ferret will switch over and use the new index.

Disclaimer: until now any modifications done to model instances while the rebuild runs will go into the old index, so you’ll have to keep track of these yourself.

MySQL users with a large number of records might as well notice a speed increase with index rebuilds, thanks to this clever exploitation of several MySQL specifics.

Btw, if you’re looking for some capistrano recipes for managing your ferret server, have a look at the palmtree project.

Comments

John Bachir

Great to hear about the new version.

until now any modifications done to model instances while the rebuild runs will go into the old index, so you’ll have to keep track of these yourself

What do you mean by "until now"... has this situation now changed?

John Joseph Bachir

Stripping markup from comments, why?!?! :-D Better formatting: Great to hear about the new version. You wrote: "until now any modifications done to model instances while the rebuild runs will go into the old index, so you’ll have to keep track of these yourself". What do you mean by "until now"... has this situation now changed?

Jens

What I wanted to say was that I have plans to change this behaviour (i.e. by queuing those to-be-reindexed records for later indexing), but it hasn't been done yet.