Making an efficient search engine for my website
===

My database contains about 10 millions of products. So, I need an efficient search technique to speed up my response.

Initially, I tried up making a number of tables as per alphabets or some initial characters of  the query. However, it screws the result many a times like if the user search for "ipod touch" instead of "apple ipod touch".

Can I implement it using some trie or other data structures.

Also, if, someone can clarify how Google keeps the track of so much data, that will be helpful.

Please suggest anything feasible. I will try to do whatever it takes to make my search engine efficient.

P.S. And please do not do a "-1", whenever, I ask something big, people demoralize me.    