1. It matches the rows simply by the term entered, no other calulation is performed yet.
2. The built in database is used after the search term is recorded at least once.
3. Google database is used by making a query to google servers with the keyword. They will try to return relevant keywords. It is not possible to control this behavior in any ways unfortunately.
4. I have no information about this unfortunately. I would say it depends highly on the keyword.
5. Well, I never though of this to be honest, in the current stage it's not possible. I can however add this as a feature request, and perhaps build a solution for upcoming versions if possible.
If you like my products, don't forget to rate them on codecanyon :)