I'm building a web app based on OSM places, excluding administrative zones (such as countries, states, and counties). I've taken an extract of place type = city or town or village or hamlet. But I've noticed a lot of places I need are not there. However when I search them on OSM's website, they exist. Example 1: Westport, Massachusetts. This is a town and has a boundary in OSM but it would not exist when extracting place=town from OSM. Example 2: Nantucket. This is a little more abstract... it is an island but is still something people think of as a place so they would search for it.
I've noticed web sites like FourSquare that use OSM have solved this problem. When you search on FS, the first field is what you are searching (eg Joe's Pizze) the second is place (this is the OSM places). For place they figured out how to translate OSM places into places someone would search for. For example I find all the cities/towns I already have but also Nantucket and Westport, MA. How do sites like FS do it? Is there an logical approach?
Just like FS, I would want an autocomplete field that a user would search these places through.