clj-fuzzy is a native Clojure library providing a collection of famous algorithms dealing with fuzzy strings and phonetics.
It can be used in Clojure, ClojureScript, client-side JavaScript and Node.js.
Consider this library deprecated for JavaScript.
Indeed, the Talisman library can be seen as an improvement over clj-fuzzy
and is, what's more, written directly in JavaScript.
The full documentation for this library is available there.
- Sorensen / Dice coefficient
- Levenshtein distance
- Hamming distance
- Jaccard / Tanimoto distance
- Jaro-Winkler distance
- MRA comparison
- Tversky index
- Lancaster stemmer (en)
- Lovins stemmer (en)
- Porter stemmer (en)
- Schinke stemmer (latin)
- Metaphone
- Double Metaphone
- Soundex
- NYSIIS (original & refined)
- Caverphone (original & revisited)
- Cologne Phonetic
- MRA codex
Please feel free to contribute by forking this repo. Just be sure to add relevant unit tests and pass them all before submitting any code.
MIT