Match by phonological similarity

I need to search and match among phonologically similar words.
A clue word can be an input, but it should search for any possible alternatives that hear like similar.

For example, the input is “pani”. I have certain rules of typing the words for similar words like: pani, panee, paanee, paani. All these are valid searches. In this language, as song as the pronounced word hears similar, it is okay to accept the match.

I do not or cannot generate the reservoir of all the possible alternative spellings of the individually similar words.

Please suggest me some ideas on this.
Thank you.

It should be somewhat similar to SOUNDEX() match of a world within a paragraph.
But how to implement it?

Split the paragraph and use the SOUNDEX() functions. Or a number of other similary purposed algorithms – SOUNDEX is pretty focused on english last names, you might need something differently tuned.