acts_as_ferret

This ActiveRecord mixin adds full text search capabilities to any Rails model.

It is heavily based on the original acts_as_ferret plugin done by Kasper Weibel and a modified version done by Thomas Lockney, which both can be found on ferret.davebalmain.com/trac/wiki/FerretOnRails

Project Homepage

rm.jkraemer.net/projects/show/aaf

Installation

Aaf is available via git from rubyforge.org and github.com. Github also offers tarball downloads, check out github.com/jkraemer/acts_as_ferret/tree/master .

Installation inside your Rails > 2.1 project via gem management

Add this to your projects config/environment.rb:

config.gem 'acts_as_ferret', :version => '~> 0.4.3'

Installation inside your Rails project via script/plugin

script/plugin install git://github.com/jkraemer/acts_as_ferret.git

The rubyforge repository is located at git://rubyforge.org/actsasferret.git

Old SVN repository

In november 2008 I stopped updating the svn repository that has been the main repository for aaf for several years. In case you want to retrieve any of the older versions of the plugin, it’s still there at

svn://code.jkraemer.net/acts_as_ferret/

System-wide installation with Rubygems

sudo gem install acts_as_ferret

To use acts_as_ferret in your project, add the following line to the end of your project’s config/environment.rb:

require 'acts_as_ferret'

Call the aaf_install script that came with the gem inside your project directory to install the sample config file and the drb server start/stop script.

Usage

include the following in your model class (specifiying the fields you want to get indexed):

acts_as_ferret :fields => [ :title, :description ]

now you can use ModelClass.find_with_ferret(query) to find instances of your model whose indexed fields match a given query. All query terms are required by default, but explicit OR queries are possible. This differs from the ferret default, but imho is the more often needed/expected behaviour (more query terms result in less results).

Please see ActsAsFerret::ActMethods#acts_as_ferret for more information.

License

Released under the MIT license.

Authors

  • Kasper Weibel Nielsen-Refs (original author)

  • Jens Kraemer <[email protected]> (current maintainer)