I've seen this done on a project I worked on before.
First, we logged every query that returned 0 results with a little bit of PHP code. The code wrote to a .txt file that was easily readable. After a month we had a significant amount of data.
The data was used to track what products were being searched for that weren't returning results. Then we used the data to decide if we should add those products or if our search wasn't returning proper results. What we found was that many people searched for products that we did carry, but the search didn't return the proper results. For instance, the search might not return a result if a search was for the BRAND of the item. Though it should have, it didn't. Also, a user might search for "widgets", but all the products were named "$brand $size widget". Because of the "s" at the end of the word our search would return 0 results, but we carried hundreds of widgets.
First we improved the search to pick up results of one character off. Then we included any manufacturer / brands. We also had the search display results from the title of articles on our site. This significantly improved the user experience and sales.
We then took the data left over and decided what the user was searching for and how to use that to our advantage. Many users are too lazy to use the navigation on a website to find what they want. If they search for "blue widgets" and 0 results display the users often assume we don't carry them - though we do. So, this is a very good tactic to use to increase conversions.
It worked very well for us. I hope this helps.