You need a meta data about the data you are searching and then have a sound matching algorithm to find the words that resembles.

As an example I am searching where the following text is in the database :
"You need a meta data about the data you are searching."

Now the meta data would be the following
meta data
data
searching
meta

Now you also have the suggestions based on your meta

say a user types
serching then you don't have the stuff in the meta data and so you suggest him the nearest match like searching.

The meta data that I am talking about can be a dictionary as well.