News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Etsy Code as Craft:
There and Back Again Migrating Geolocation Data to GeoNames
April 01, 2013 @ 11:48:36

On the Etsy "Code as Craft" blog there's a recent post about their move to using the GeoNames service internally rather than the external, third-party API previously in use.

People are passionate about where they live. At Etsy we need to keep track of lots of different locations, such as buyers' billing and shipping addresses and sellers' shop locations. As Etsy continues to expand internationally we wanted to provide better localization and translations for our location place names. We determined that the best way to effect this change was to move from using a closed location API provider to internal services backed by the open GeoNames data set.

The post details some of the steps in the process including the mapping of the current data to the new structure (the script is available on github). They talk about how they mapped their old data over (trial and error sometimes) and the creation of a database of "GeoNameIDs" for each customer in their records. They've also implemented a Lucene/Solr search for improved searching and auto-suggestion based on the user's location.

0 comments voice your opinion now!
data migration geonames geolocation api script


blog comments powered by Disqus

Similar Posts

Phil Sturgeon: Building a Decent API

DevShed: Validating Incoming Data by Using Polymorphism with Objects in PHP 5

DZone.com: Practical Google+ Api

Tim Koschuetzki's Blog: How to put Combined Fields Into CakePHP's Model->generateList()

DevShed: Iterators in the Simplest Sense - Traversing Data Structures in PHP 5


Community Events





Don't see your event here?
Let us know!


opinion update composer security package podcast language introduction mvc voicesoftheelephpant framework community series interview laravel tool version symfony library release

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework