• Stars
    star
    77
  • Rank 416,225 (Top 9 %)
  • Language
    Elixir
  • License
    Apache License 2.0
  • Created about 10 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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)

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.