You could use Yahoo Spelling API etc. if your queries are very generic. But if you have a domain specific vocabulary then you are better off using Apache Solr.
You can use it to index your 2MM records, easy! And use it as a search server with faceting etc. It also generate a spell-checker index out of your records which you can use for your "did you mean"? or the auto-suggest feature. It is also exceedingly simple to integrate into any language because of its RESTful API
Bottom-line: if you are looking for a long-term solution that can handle several things, in addition to spell-checking, such as search/auto-suggest/faceting etc. Solr is the way to go.