Currently if the customer search by SKU, he need to enter the precise part number. For example, for part number DMS-212, customer must search DMS-212, if he input DMS212, search doesn't work. Is there any way to make it work so the search find the "likes" SKUs? Thanks in advance for any advice.
The hard part you're going to find, is to create a function that will parse the submitted search string, identify and lock onto the perceived part number, parse it to include the obligatory hyphen or space in exactly the right place over your whole product line. And then write up a module to add it to Magento.
The KISS (simple) method is to create a product attribute called supplemental search as a text area item, make it available in quick search
Use the attribute to fix a lot of your search problems before they even happen and your customers will be a lot happier. You can kill three or four birds with one stone instead of waiting till the failed search shows up in the search terms to be laboriously synonymed
Part number issues => Include in the supplemental search attribute as a space delimited string of the part number variants your customer will use plus cross reference part numbers from alternate manufacturer direct matches.
Common Names, Industry Jargon => Include in the supplemental search attribute as well, a list of these.
i.e. Locking Pliers, Mole grips, Mole wrench, Vise-Grips are all the same name for this:
You sell all 500 varieties of the above item, a large portion of your customers can't find them by searching because you used the one name that they don't use. Add to Supplemental Search attribute and now all should find them.
Also, you will find that there are common misspellings that can be proactively eliminated this way as well.
And they all can be maintained by simple upload maintenance as well.
In the end when you find you hate Magento's Like search and its wish for exact matches, you can convert to Lucene Search using something like the Blast Lucene module which allows for attribute search weighting, plural matching and fuzzy search.