Skip to content

String metrics and phonetic algorithms for Elixir (e.g. Dice/Sorensen, Hamming, Jaccard, Jaro, Jaro-Winkler, Levenshtein, Metaphone, N-Gram, NYSIIS, Overlap, Ratcliff/Obershelp, Refined NYSIIS, Refined Soundex, Soundex, Weighted Levenshtein)

License

Notifications You must be signed in to change notification settings

jmoggee/the_fuzz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TheFuzz

Fuzzy string matching algorithm implementations

TheFuzz is a collection of metrics and phonetic (fuzzy string matching) algorithms for Elixir. It is based entirely on the rockymadden stringmetric library written by Rocky Madden for Scala. There will eventually be Elixir implementations of all of the string metric and phonetic algorithms implemented in his library. The library provides facilities to perform approximate string matching, measurement of string similarity/distance, indexing by word pronunciation, and sounds-like comparisons. The best way to see usage is to check out the tests and the documentation.

The following algorithms are currently implemented.

  1. DiceSorensenMetric
  2. HammingDistance
  3. JaccardSimilarityMetric
  4. JaroMetric
  5. JaroWinklerMetric
  6. LevenshteinDistance
  7. NGramSimilarityMetric
  8. OverlapMetric
  9. TanimotoCoefficientMetric
  10. TverskyIndexMetric
  11. WeightedLevenshteinDistance
  12. MetaphoneAlgorithm

I implemented these ones first because I needed them for another project. I will be adding more as time progresses. If you need one of them for a project, and I haven't implemented it yet, please let me know so that I can give it a higher priority.

About

String metrics and phonetic algorithms for Elixir (e.g. Dice/Sorensen, Hamming, Jaccard, Jaro, Jaro-Winkler, Levenshtein, Metaphone, N-Gram, NYSIIS, Overlap, Ratcliff/Obershelp, Refined NYSIIS, Refined Soundex, Soundex, Weighted Levenshtein)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%