I am developing an app that lets smartphone users upload a picture to Wikimedia Commons. The user must categorize the picture by typing Commons category names. Typing on a smartphone is slow/painful/erratic, and category names are not obvious, so the app should do its best to guess what category the user is trying to find.
QUESTION: Is there an API that takes a string, and returns 1~10 Commons category names that fuzzy-match the beginning of the string?
Requirements:
- Response of the server must be very fast (as-you-type)
- Free, as there is no budget for the app
- Scalability should not be a problem for now, less than 5 concurrent users at any one time
For instance, Category:Power plants in New Zealand should be found even if the typed string is:
Power plants in New Z
(as-you-type)power plants in new zealand
(lowercase)Power plants in New-Zealand
(dash instead of space)Power plant in New Zealand
(singular)Pwer plants in New Zeland
(typo - ideally)New Zeland power plant
(word order - ideally)