You could try a combination of a real search engine and some query manipulation to improve the results. If you take your query as an example, you can process this into wildcard trigrams and pass the query to the search engine. The search engine would use it's ranking algorithm to work out which matches were closest. There are a number of free search engines available. The precise technique will depend on the ability of the search engine chosen.
e.g. search for *mp3* *pla* *lay* *ayr*. The search engine should search for all of these expressions and then rank the results according to which documents matched the most
This technique is used on commercial websites to make up for inaccurate spelling. e.g. brittany spears