clj-fuzzy
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.
Deprecation warning
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.
Full documentation
The full documentation for this library is available there.
Available algorithms
Metrics
- Sorensen / Dice coefficient
- Levenshtein distance
- Hamming distance
- Jaccard / Tanimoto distance
- Jaro-Winkler distance
- MRA comparison
- Tversky index
Stemmers
- Lancaster stemmer (en)
- Lovins stemmer (en)
- Porter stemmer (en)
- Schinke stemmer (latin)
Phonetics
- Metaphone
- Double Metaphone
- Soundex
- NYSIIS (original & refined)
- Caverphone (original & revisited)
- Cologne Phonetic
- MRA codex
Contribution
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.
License
MIT