First, some nit picky semantics that aren't very helpful towards solving your problem: The search box on openstreetmap.org is powered by Nominatim, which is one particular system for indexing the OSM data. There are design choices and trade offs present in it. A different system could make different choices and trade offs.
Nominatim prefers to associate streets with administrative boundaries that they are inside of. The data for counties is pretty solid, and in the U.S., pretty much every street is properly inside a county (or equivalent). The data for other administrative units is less solid (and often times less clear in the real world). If a street is not found inside of a city or town or the like, it is assigned to the nearest "place" node (I think with some accommodation for significance of the place). So, for instance, that's how Blackgum Drive ends up assigned to Marblehill.
I'm not sure how other people are thinking about it, but I think the long term solution to what you are seeing is to build up exact address information and then also index that data for street-city (or place) relationships in search results. Given the way zip codes work and the hand waviness of postal addressing (the post office does a good job correctly routing miserably addresses mail), this is probably more sensible that trying to create boundaries.
It would also be possible to index streets to several nearby places (but of course that's more work up front and more data to sift through on each search).
Nominatim prefers to associate streets with administrative boundaries that they are inside of. The data for counties is pretty solid, and in the U.S., pretty much every street is properly inside a county (or equivalent). The data for other administrative units is less solid (and often times less clear in the real world). If a street is not found inside of a city or town or the like, it is assigned to the nearest "place" node (I think with some accommodation for significance of the place). So, for instance, that's how Blackgum Drive ends up assigned to Marblehill.
I'm not sure how other people are thinking about it, but I think the long term solution to what you are seeing is to build up exact address information and then also index that data for street-city (or place) relationships in search results. Given the way zip codes work and the hand waviness of postal addressing (the post office does a good job correctly routing miserably addresses mail), this is probably more sensible that trying to create boundaries.
It would also be possible to index streets to several nearby places (but of course that's more work up front and more data to sift through on each search).