similus
similus copied to clipboard
A ruby gem to find similar patterns and offer recommendations
= Similus
Similus is a Ruby library that allows to find similar objects and recommendations using generated activity. Examples of usage:
- Find similar articles based on what other users also viewed.
- Recommend articles to users based on their activity.
== Authors
{Horaci Cuevas}[http://github.com/horaci] [email protected]
== Quick overview
- Setup
- Store activity
- Show similar objects
- Show recommended objects
== Setup
Before using Similus, you need to setup the redis configuration. In rails this can be done inside a preinitializer in the config/preinitializers folder.
Similus.config do |config| config.backend = :redis config.redis_server = "localhost:6379" config.redis_db = 8 end
=== Store activity
Locate where you want to store activity. For example, in Ruby on Rails, inside the show method of the ArticlesController class:
class ArticlesController < ApplicationController def show @article = Article.find(params[:id]) Similus.add_activity(current_user, :show, @article) end end
=== Show similar objects
Once there is some activity stored by users, you can query for similar objects:
class ArticlesController < ApplicationController def show @article = Article.find(params[:id]) @similar_articles = Similus.similar_to(@article) end end
=== Show recommended objects
Even better than just showing similar articles, show recommended articles for the user's previous activity when there is a logged in user:
class HomeController < ApplicationController def index @recommended_articles = Similus.recommended_for(current_user) end end
== Configuring and installing Similus
As of current version, Similus only supports redis backend.
Install Redis 2.0 from [http://code.google.com/p/redis/] and start the server.
Install the Similus gem:
gem install similus
== License
Copyright (c) 2010 Horaci Cuevas
See LICENSES for details.