FOSS4G 2022 general tracks

Building a Geocoder on top of PostGIS - a Field Report
08-25, 09:30–10:00 (Europe/Rome), Room 9

It seems to be conventional wisdom that a search engine for geodata is best implemented with a text search engine like OpenSearch or Solr. Most of available open-source geocoders follow that wisdom. Nominatim is the odd one out. OpenStreetMap's main geocoder was originally developed 12 years ago as a proof of concept that a geocoder can be efficiently implemented on top of a PostgreSQL/PostGIS database. Since then it has grown into mature project. And so have the PostgreSQL database and the OpenStreetMap project.

In this talk, I will share some of the experiences of working with PostGIS on a growing OpenStreetMap dataset. The talk starts with a quick overview about what the Nominatim database looks like under the hood. It then goes on to present some of the lessons we have learned over the last 10 years on managing a PostGIS database with more than 270 million searchable places. We talk about features that improved performance and about some that are best avoided. The talk concludes with some general observation about implementing search on top of an SQL database.

Sarah is a software developer and an OpenStreetMap community member and mapper. She is the maintainer for the Nominatim and Photon geocoders and the waymarkedtrails.org project. She is also involved in osm2pgsql and pyosmium development. She currently works as a freelancer.