lexmag/simetric

String similarity metrics for Elixir

Elixir

63

19 commits

updated Apr 26, 2021

See the code

README

Simetric

Build Status Hex Version

Simetric provides facilities to perform approximate string matching and measurement of string similarity/distance. The library is focusing on speed and completeness.

Available metrics

Installation

Add Simetric as a dependency to your mix.exs file:

defp deps do
  [{:simetric, "~> 0.2.0"}]
end

Then, run mix deps.get in your shell to fetch the new dependency.

Usage

Jaro–Winkler:

Simetric.Jaro.Winkler.compare("dwayne", "duane") # => 0.8400000000000001
Simetric.Jaro.Winkler.compare("hardin", "martinez") # => 0.7222222222222222
Simetric.Jaro.Winkler.compare("same", "same") # => 1.0

Levenshtein:

Simetric.Levenshtein.compare("gumbo", "gambol") # => 2
Simetric.Levenshtein.compare("kitten", "sitting") # => 3

License

Simetric is released under the ISC license.

distance
elixir
jaro-winkler
levenshtein
similarity

Contributors

lexmag

17 commits

kylekwong

1 commits

lowks

1 commits

lexmag/simetric

String similarity metrics for Elixir

Elixir

63

19 commits

updated Apr 26, 2021

See the code

README

Simetric

Build Status Hex Version

Simetric provides facilities to perform approximate string matching and measurement of string similarity/distance. The library is focusing on speed and completeness.

Available metrics

Installation

Add Simetric as a dependency to your mix.exs file:

defp deps do
  [{:simetric, "~> 0.2.0"}]
end

Then, run mix deps.get in your shell to fetch the new dependency.

Usage

Jaro–Winkler:

Simetric.Jaro.Winkler.compare("dwayne", "duane") # => 0.8400000000000001
Simetric.Jaro.Winkler.compare("hardin", "martinez") # => 0.7222222222222222
Simetric.Jaro.Winkler.compare("same", "same") # => 1.0

Levenshtein:

Simetric.Levenshtein.compare("gumbo", "gambol") # => 2
Simetric.Levenshtein.compare("kitten", "sitting") # => 3

License

Simetric is released under the ISC license.

distance
elixir
jaro-winkler
levenshtein
similarity

Contributors

lexmag

17 commits

kylekwong

1 commits

lowks

1 commits

Languages

Elixir

100.0%