No commit activity in last 3 years
No release in over 3 years
A ruby library to find similar objects and make recommendations based on activity of objects
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
 Dependencies

Runtime

>= 0
 Project Readme

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 <horaci@gmail.com>

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 [code.google.com/p/redis/] and start the server.

Install the Similus gem:

gem install similus

License¶ ↑

Copyright © 2010 Horaci Cuevas

See LICENSES for details.