I have a large database (firebird) containing address information for every address on my country (Brazil). This will be used to locate addresses inputed by users.
My main concern is how to implement a search engine capable of resolving typos, partial results, or results that are similar to the search query.
I'm pretty clueless as to where I would begin to implement this kind of capability. What are the terminologies I should be looking for? Is there any kind of service on the internet that would provide these capabilities, given that I provide the data?