acts_as_ferret
Acts_as_ferret is a Rails plugin that brings the power of the Ferret search engine to Rails. Ferret is a C port (with Ruby bindings) of the famous Lucene search engine.
Features
- High speed full text search across the contents of any Rails model class, without any hassles. The index will be kept up to date automagically while you work with your Rails model classes as usual.
- Each Model class calling
acts_as_ferret
gets it’s own Ferret index on disk, but you can search multiple models at once using themulti_search
method. - Supports Rails’ single table inheritance mechanism (just declare
acts_as_ferret
in the base class, and be able to search across all inheriting classes, see TypoWithFerret for an example) - Aaf is not limited to indexing the attributes of your model: You can tell it to index the result of any instance method of your model class.
- Further customization of the indexing process can be achieved by overriding the
to_doc
instance method in your model class, which is supposed to return the Ferret document object to be stored in the index. - Use
my_model_instance#more_like_this
to retrieve objects having similar contents likemy_model_instance
. Great for suggesting related pages to your readers, or related products to your customers.