🎐 a Go library for doing approximate and phonetic matching of strings
Go Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
testdata @ 2c5b130
.gitignore 100% coverage Mar 3, 2015
.gitmodules make import simpler Mar 3, 2015
.travis.yml no support for 1.3 Mar 4, 2015
LICENSE readme/license Mar 3, 2015
README.md note req 1.4 May 24, 2015
bench_test.go make use of Go 1.4 test running constructs Mar 4, 2015
doc.go docs Mar 5, 2015
hamming.go docs Mar 5, 2015
jellyfish_test.go make use of Go 1.4 test running constructs Mar 4, 2015
levenshtein.go docs Mar 5, 2015
metaphone.go update Metaphone rules to handle UTAH/WH test cases Oct 7, 2016
mra.go docs Mar 5, 2015
nysiis.go more NYSIIS fixes May 1, 2015
porter.go docs Mar 5, 2015
soundex.go docs Mar 5, 2015
utils.go move normalize Mar 3, 2015



GoDoc Build Status

go-jellyfish is a Go library for approximate and phonetic matches of strings.

go-jellyfish is based on the C/Python version of jellyfish.

Written by James Turk james.p.turk@gmail.com and released under a BSD-style license. (See LICENSE for details.)

Porter Stemmer implementation based upon Alex Gonopolskiy's go-stem, with permission.


Tests require Go >= 1.4

Included Algorithms

String comparison:

  • Levenshtein Distance
  • Damerau-Levenshtein Distance
  • Jaro Distance
  • Jaro-Winkler Distance
  • Match Rating Approach Comparison
  • Hamming Distance

Phonetic encoding:

  • American Soundex
  • Metaphone
  • NYSIIS (New York State Identification and Intelligence System)
  • Match Rating Codex