What is the algo used for Phonetic Search I am new to the field of text mining. Could not figure out what to search on google so am here for the same help. 
When we talk of approximate / fuzzy string match. searching for RAT would give RAAT too. i have used utl_match.edit_distance in oracle. searching for BAAT would give BAT. but if i search for RAT. it would return BAT, CAT, etc. How does google bring the phonetically same rhyming / sounding words eg if some one does'nt know spelling of 'Schwaznegger', even then correct data is brought by google. For 'levenshtein distance', cat and bat are pretty close but for google. closest to cat is kat not bat. Please tell me what we call such a search and what algorithms are used for it.
 Thanking you in advance for patience.
Take a look at Soundex, Levenshtein edit distance, and related ideas.