I have added the data to solr.
Name field values are: "batman","bat man","bat-man"
so if a user searched for "btman" the result should show all the above values in search.
I found the query like: localhost:8983/solr/test/select?q=Name%3Abtman~2
but it won't work in all cases.
I need suggession for the Solr query which fetch the result with typos and recomendations.

IMO, you should use Synonym filter in Solr.
You basically need to create a Synonym file and pass it as an input where you think such spelling mistakes would occur.