X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/74be6828dd971abbf670435d8b6db4834778c28d..d8ed565bce27c638074fbc6f1961dfc0d160e312:/docs/admin/Import.md diff --git a/docs/admin/Import.md b/docs/admin/Import.md index 425812a7..0fd5ec29 100644 --- a/docs/admin/Import.md +++ b/docs/admin/Import.md @@ -47,8 +47,9 @@ You can also set the same configuration via environment variables. All settings have a `NOMINATIM_` prefix to avoid conflicts with other environment variables. -There are lots of configuration settings you can tweak. Have a look -at `Nominatim/settings/env.default` for a full list. Most should have a sensible default. +There are lots of configuration settings you can tweak. A full reference +can be found in the chapter [Configuration Settings](../customize/Settings.md). +Most should have a sensible default. #### Flatnode files @@ -73,15 +74,15 @@ but it will improve the quality of the results if this is installed. This data is available as a binary download. Put it into your project directory: cd $PROJECT_DIR - wget https://www.nominatim.org/data/wikimedia-importance.sql.gz + wget https://nominatim.org/data/wikimedia-importance.sql.gz The file is about 400MB and adds around 4GB to the Nominatim database. !!! tip - If you forgot to download the wikipedia rankings, you can also add - importances after the import. Download the files, then run - `nominatim refresh --wiki-data --importance`. Updating importances for - a planet can take a couple of hours. + If you forgot to download the wikipedia rankings, then you can + also add importances after the import. Download the SQL files, then + run `nominatim refresh --wiki-data --importance`. Updating + importances for a planet will take a couple of hours. ### External postcodes @@ -91,11 +92,11 @@ and the UK (using the [CodePoint OpenData set](https://osdatahub.os.uk/downloads This data can be optionally downloaded into the project directory: cd $PROJECT_DIR - wget https://www.nominatim.org/data/gb_postcodes.csv.gz - wget https://www.nominatim.org/data/us_postcodes.csv.gz + wget https://nominatim.org/data/gb_postcodes.csv.gz + wget https://nominatim.org/data/us_postcodes.csv.gz You can also add your own custom postcode sources, see -[Customization of postcodes](Customization.md#external-postcode-data). +[Customization of postcodes](../customize/Postcodes.md). ## Choosing the data to import @@ -138,7 +139,7 @@ import. So this option is particularly interesting if you plan to transfer the database or reuse the space later. !!! warning - The datastructure for updates are also required when adding additional data + The data structure for updates are also required when adding additional data after the import, for example [TIGER housenumber data](../customize/Tiger.md). If you plan to use those, you must not use the `--no-updates` parameter. Do a normal import, add the external data and once you are done with @@ -149,7 +150,7 @@ database or reuse the space later. If you only want to use the Nominatim database for reverse lookups or if you plan to use the installation only for exports to a -[photon](https://photon.komoot.de/) database, then you can set up a database +[photon](https://photon.komoot.io/) database, then you can set up a database without search indexes. Add `--reverse-only` to your setup command above. This saves about 5% of disk space. @@ -253,39 +254,70 @@ successfully. nominatim admin --check-database ``` -Now you can try out your installation by running: +Now you can try out your installation by executing a simple query on the +command line: + +``` sh +nominatim search --query Berlin +``` + +or, when you have a reverse-only installation: + +``` sh +nominatim reverse --lat 51 --lon 45 +``` + +If you want to run Nominatim as a service, you need to make a choice between +running the traditional PHP frontend or the new experimental Python frontend. +Make sure you have installed the right packages as per +[Installation](Installation.md#software). + +#### Testing the PHP frontend + +You can run a small test server with the PHP frontend like this: ```sh nominatim serve ``` -This runs a small test server normally used for development. You can use it -to verify that your installation is working. Go to -`http://localhost:8088/status.php` and you should see the message `OK`. -You can also run a search query, e.g. `http://localhost:8088/search.php?q=Berlin`. +Go to `http://localhost:8088/status.php` and you should see the message `OK`. +You can also run a search query, e.g. `http://localhost:8088/search.php?q=Berlin` +or, for reverse-only installations a reverse query, +e.g. `http://localhost:8088/reverse.php?lat=27.1750090510034&lon=78.04209025`. + +Do not use this test server in production. +To run Nominatim via webservers like Apache or nginx, please continue reading +[Deploy the PHP frontend](Deployment-PHP.md). -Note that search query is not supported for reverse-only imports. You can run a -reverse query, e.g. `http://localhost:8088/reverse.php?lat=27.1750090510034&lon=78.04209025`. +#### Testing the Python frontend -To run Nominatim via webservers like Apache or nginx, please read the -[Deployment chapter](Deployment.md). +To run the test server against the Python frontend, you must choose a +web framework to use, either starlette or falcon. Make sure the appropriate +packages are installed. Then run -## Tuning the database +``` sh +nominatim serve --engine falcon +``` -Accurate word frequency information for search terms helps PostgreSQL's query -planner to make the right decisions. Recomputing them can improve the performance -of forward geocoding in particular under high load. To recompute word counts run: +or -```sh -nominatim refresh --word-counts +``` sh +nominatim serve --engine starlette ``` -This will take a couple of hours for a full planet installation. You can -also defer that step to a later point in time when you realise that -performance becomes an issue. Just make sure that updates are stopped before -running this function. +Go to `http://localhost:8088/status.php` and you should see the message `OK`. +You can also run a search query, e.g. `http://localhost:8088/search.php?q=Berlin` +or, for reverse-only installations a reverse query, +e.g. `http://localhost:8088/reverse.php?lat=27.1750090510034&lon=78.04209025`. + +Do not use this test server in production. +To run Nominatim via webservers like Apache or nginx, please continue reading +[Deploy the Python frontend](Deployment-Python.md). + + +## Enabling search by category phrases -If you want to be able to search for places by their type through +To be able to search for places by their type using [special phrases](https://wiki.openstreetmap.org/wiki/Nominatim/Special_Phrases) you also need to import these key phrases like this: