Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
RubyFish is a ruby port of python library jellyfish (http://github.com/sunlightlabs/jellyfish) for doing approximate and phonetic matching of strings
Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gitignore
CHANGELOG.md
Gemfile
Gemfile.lock
LICENSE
README.md
ROADMAP.md
Rakefile
rubyfish.gemspec

README.md

RubyFish

RubyFish is a ruby port of python library jellyfish for doing approximate and phonetic matching of strings.


RubyFish is a project of AnjLab (c) 2010. All code is released under a BSD-style license, see LICENSE for details.

Originally written by Michael Stephens and James Turk.

Ported by Yury Korolev Source is available on GitHub

Included Algorithms

String comparison:

  • Levenshtein Distance
  • Damerau-Levenshtein Distance
  • Jaro Distance
  • Jaro-Winkler Distance
  • Hamming Distance
  • Longest Substring
  • Longest Subsequence

Phonetic encoding:

  • Double Metaphone

Example Usage

ruby-1.9.2-p0 > require 'rubyfish'
ruby-1.9.2-p0 > RubyFish::Levenshtein.distance("jellyfish", "rubyfish")
=> 4
ruby-1.9.2-p0 > RubyFish::Jaro.distance("jellyfish", "rubyfish")
=> 0.7268518518518519
ruby-1.9.2-p0 > RubyFish::DamerauLevenshtein.distance("rubyfish", "rubyfihs")
=> 1

ruby-1.9.2-p0 > RubyFish::DoubleMetaphone.phonetic_code "prived"
 => ["PRFT", nil] 
ruby-1.9.2-p0 > RubyFish::DoubleMetaphone.phonetic_code "privet"
 => ["PRFT", nil]
Something went wrong with that request. Please try again.