Go implementation of Double Metaphone (Lawrence Philips, C/C++ Users Journal, June 2000). Built for Watchman phonetic boosting.
import "github.com/PhonoGrams/double_metaphone"
p, alt := double_metaphone.Encode("Smith") // SM0, XMT
double_metaphone.Match("Smith", "Schmidt") // true (shared XMT)Primary and alternate codes, capped at 4 characters (Philips). EncodeUncapped keeps the Atkinson unbounded variant.
- Philips, The Double Metaphone Search Algorithm, C/C++ Users Journal, June 2000
- Watchman: moov-io/watchman#880
Apache License 2.0