What is the best way to find results that are equal to or sound like a string without having to use exact character matches?

I have tried soundex but it seems a bit inconsistent. It returns cheese if you put in chez but won't return waffle if you put in wafl.

Like is too restrictive because it requires exact character matches.

Anything else I can use?