Sarah Hoffmann [Tue, 22 Sep 2020 13:51:04 +0000 (15:51 +0200)]
remove ST_Covers check when also testing for ST_Intersects
Using both is slightly problematic because they have different
ways to use the index. Newer versions of Postgis exhibit a
query planner issue when both functions appear together.
As ST_Intersects includes ST_Covers, simply remove the latter.
Sarah Hoffmann [Thu, 17 Sep 2020 15:11:22 +0000 (17:11 +0200)]
make sure that all postcodes have an entry in word
It may happen that two different postcodes normalize to exactly
the same token. In that case we still need two different entries
in the word table. Token lookup will then make sure that the correct
one is choosen.
Sarah Hoffmann [Thu, 20 Aug 2020 14:37:33 +0000 (16:37 +0200)]
increase splitting for large geometries
When computing the address parts for a geometry, we need to do
a ST_Relates lookup in the location_area_large_* tables. This is
potentially very expensive for geometries with many vertices.
There is already a funtion for splitting large areas to reduce the
impact. This commit reduces the minimum area of a split, effectively
increasing the number of splits.
The effect on database size is minimal (around 3% increase), while
the indexing speed for streets increases by a good 60%.
Sarah Hoffmann [Thu, 30 Jul 2020 21:39:55 +0000 (23:39 +0200)]
make house number reappear in display name on named POIs
After 6cc6cf950c3c08103e6159a079c85b5a4f1c09fa names and house numbers
of POIS got mingled into a single item when creating the display name.
Add the house number as extra information without place_id to avoid
later mangling.
Sarah Hoffmann [Wed, 3 Jun 2020 09:30:51 +0000 (11:30 +0200)]
parents for large POIs must be address features
There are a couple of places with a search rank < 25 which are
not addressable like waterways and islands. We don't want them
to function as parents for POI-level objects. So use the
address rank for finding parents, not the search rank.
Sarah Hoffmann [Sat, 30 May 2020 09:20:16 +0000 (11:20 +0200)]
Disable JIT and parallel workers when indexing
Locally disable jit and parallel workers in the connection that
do indexing. The query planner tends to be overenthusiatic about
using JIT. But with the rather less complex queries we have, the
overhead tends to be larger than the performance gain.
Sarah Hoffmann [Fri, 15 May 2020 21:00:04 +0000 (23:00 +0200)]
reorganise class/type information
Add a separate function for each property which saves necessary
information independently. Simplify computation of labels and
simple labels to not explicitly save the labels.
Simon Will [Tue, 5 May 2020 21:43:09 +0000 (23:43 +0200)]
Use assertEqualsWithDelta for float comparisons
PHPUnit 7.3 introduced the functions assertEqualsWithDelta for comparing
floats with a delta. The old four-argument version of assertEquals is
deprecated in PHPUnit 8 and removed in PHPUnit 9.
This commit means that the tests will fail with PHPUnit < 7.3 because
assertEqualsWithDelta is not defined there.
Simon Will [Tue, 5 May 2020 21:10:35 +0000 (23:10 +0200)]
Add vagrant machine for Ubuntu 20.04
The instructions in
[`VAGRANT.md`](https://github.com/osm-search/Nominatim/blob/42c80893cb1038e21c05c2d0d30e3a7a20f0fa26/VAGRANT.md)
still work as before. The names of the Vagrant machines are updated so
that Ubuntu 18.04 (previously called `ubuntu`) is now called `ubuntu18`
and Ubuntu 20.04 is now called `ubuntu20`.
The version changes from Ubuntu 18.04 to Ubuntu 20.04 are:
- Python: 3.6 to 3.8
- Postgres: 10 to 12
- PHP: 7.2 to 7.4
In the `apt-get`, I changed `--force` to `--allow-downgrades --allow-remove-essential --allow-change-held-packages`, because the former is deprecated. Cf. the [manpage of apt-get](http://manpages.ubuntu.com/manpages/focal/man8/apt-get.8.html)
The php module `codesniffer` was previously installed via Composer, but it is available via the Ubuntu repository, so I installed it via `apt-get` now.
Sarah Hoffmann [Tue, 14 Apr 2020 15:14:20 +0000 (17:14 +0200)]
downgrade waterways
A lot of streams in OSM are of minor importance, they certainly
should show up lower in the list of results than villages. Those
rivers/streams that are well known have a wikipedia page and get
a higher importance from that.
The disadvantage with downgrading is that the address gets even
more useless but that's something that needs to be solved outside
the rank search.