Alt-Names
Overview
Implement the ability to search across all the known names for a place, including various languages.
External Dependencies
We will be relying on our data sources to provide the additional names for places. WOF and OSM all have the concept of alt-names. We will need to work with data team to ensure that the alt-names provided in WOF are curated and ready for consumption.
Functionality
- Store admin hierarchy place names in the native language of the parent country for
addresses,venue, andstreetlayers- for example
Кремль, Russiashould beКремль, Россия
- for example
- Store place names in all available languages for WOF places (not venues)
- Refactor query logic to perform the search in two stages:
- 1st: search for all the admin areas separately, locating their GIDs, centroids, and all available names
- 2nd: use the found GIDs to perform the full place query, also allowing for a broader search in nearby areas where the centroid of the most granular parent is used as a focus point
- e.g.: a query like
Lancaster, PAwill first query all admin layers forPAand once that has returned the GID for Pennsylvania another query will be formed to find anything namedLancasterthat also hasparent.region_gidequal to the GID from the fist query
- Search for WOF admin areas in many languages
- Add
languagequery parameter that will dictate which language the labels are to be displayed in- consider which endpoints should support this (would it make caching ineffective for autocomplete?)
- if no
langparameter is specified, default toeng - for example if
lang=rus, the label should beКремль, Россия, and if it's set tolang=engthe label should beKremlin, Russia
Note: GeoNames importers will not be updated as part of this work.
Operations
- Ensure performance is not diminished
- Potentially we would need to add more machines to support additional volume of data and more complex query logic
Documentation
- A full sweep will be needed
- Additional examples of searching in different languages
- Document new
langquery parameter - Blog post (at least one)
Validation
- Publish the results of benchmark / load-test execution and make scaling recommendations.
- Update / add acceptance tests to validate that the all required functionality has been implemented successfully.
| input query | expected result |
|---|---|
| München | Munich |
| Кремль, Россия | Кремль, Россия |
| Кремль, Russia | Кремль, Россия |
Future Work
- Import and search nicknames for venues in OSM, such as airport codes for example
- for example searching for
JFKshould returnJohn F Kennedy Int'l Airport
- for example searching for
- Import and search for WOF venues in many languages
- Search for OSM venues in many languages
- Import and search nicknames for venues in WOF
| input query | expected result |
|---|---|
| Статуя Свободы | Statue of Liberty, New York |
| Eiffel Tower | Tour Eiffel |
| Tour Eiffel | Tour Eiffel |
| JFK | John F Kennedy International Airport |
| USA | United States |