Skip to content

Provides autocompletions through Redis, with the ability to rank results and integrate with Rails

License

Notifications You must be signed in to change notification settings

santopuppy/redis-autosuggest

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redis::Autosuggest

Provides autocompletions through Redis, with the ability to rank results and integrate with Rails

Installation

$ gem install redis-autosuggest

Usage

By default Autosuggest creates a new Redis client on db 0 at localhost:6379.

To change the server/port:

r = Redis.new(:host => "my_host", :port => my_port)
Redis::Autosuggest.redis = r

To add items to be use for autocompletions:

Redis::Autosuggest.add("North By Northwest", "Northern Exposure")

To check for autocompletions for an item:

Redis::Autosuggest.suggest("nor")
# => ["north by northwest", "northern exposure"]

Autocompletions will be ordered their score value (descending).

Some other usage examples:

# Add items with initial scores 
Redis::Autosuggest.add_with_score("North By Northwest", 9, Northern Exposure, 3)
# Increment an item's score
Redis::Autosuggest.increment("North By Northwest", 1)

Fuzzy matching:

Redis::Autosuggest.fuzzy_match = true
Redis::Autosuggest.add("North By Northwest")
Redis::Autosuggest.suggest("nort byenorthwest")
# => ["north by northwest"]

Rails support

Autosuggest can also be integrated with Rails. Include it in a model:

class Movie < ActiveRecord::Base
  include Redis::Autosuggest
  
  attr_accessible :movie_title
  autosuggest     :movie_title
end

For first time usage, seed the Redis db with the autosuggest sources:

rake autosuggest:init

You can optionally specify a numeric field to be used as the initial score for an item when it is added and a limit of how many items maximum to keep:

  autosuggest :movie_title, :rank_by => imdb_rating, limit => 10000

Front-end portion

Jquery plugin for dropdown autocompletions for a from can be found here

About

Provides autocompletions through Redis, with the ability to rank results and integrate with Rails

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published