May 4-May 31 was the bonding period for my GSoC. I utilized this time to learn more about the codebase and started digging deeper into the specifics of the project requirements. I was provided a server (sponsored by OpenCage) to set up the Nominatim planet database. It was my first time working with such massive data. My mentors, Sarah Hoffmann and Marc Tobias helped me in setting up the server.
Installation and server setup:
The following is a brief of the steps I followed.
-
Created nominatim user without login permission
sudo useradd -d /srv/nominatim -s /bin/false -m nominatim
-
Postgres configuration changes:
shared_buffers = 2GB maintenance_work_mem = 10GB autovacuum_work_mem = 2GB work_mem = 150MB effective_cache_size = 24GB synchronous_commit = off max_wal_size = 1GB checkpoint_timeout = 10min checkpoint_completion_target = 0.9 effective_io_concurrency = 500 random_page_cost = 1.5 # reenabled these two after initial import fsync = off full_page_writes = off
sudo systemctl restart postgresql
-
The data import stopped during the indexing (created issue https://github.com/osm-search/Nominatim/issues/1785)
-
The indexing was resumed using:
./utils/setup.php --index --create-search-indices --create-country-names
-
Then faced the issue https://github.com/osm-search/Nominatim/issues/1476.
I had to use
SELECT pg_terminate_backend( ) FROM pg_stat_activity;
7-8 times. -
After a successful setup of planet DB, the next step was to import Wikipedia and Wikidata. This was done by following steps described at https://nominatim.org/release-docs/latest/admin/Import-and-Update/#wikipediawikidata-rankings
-
The photon project was also set up on the server for testing and playing around with the code.
With the completion of server setup, I am all set to go ahead with the next phases of the project.
Open issues:
After setting up the server, I took up the following issues. This was in order to improve my understanding of the codebase and get myself more familiar with the project.
Дийцар