]> git.openstreetmap.org Git - nominatim.git/log
nominatim.git
23 months agofix parameter use for ST_Project
Sarah Hoffmann [Sun, 20 Aug 2023 11:52:03 +0000 (13:52 +0200)]
fix parameter use for ST_Project

Before postgis 3.4 ST_Project required a geography as input and seemed
to have implicitly converted to geography. Since 3.4 geometry input
is supported but leads to a completely different result.

23 months agofix tag name for housename addresses in layer selection
Sarah Hoffmann [Sat, 19 Aug 2023 13:57:33 +0000 (15:57 +0200)]
fix tag name for housename addresses in layer selection

Fixes #3156.

23 months agoMerge pull request #3155 from lonvia/caching-of-transliterators
Sarah Hoffmann [Wed, 16 Aug 2023 20:55:54 +0000 (22:55 +0200)]
Merge pull request #3155 from lonvia/caching-of-transliterators

Cache ICU transliterators between calls

23 months agocache ICU transliterators and reuse them
Sarah Hoffmann [Tue, 15 Aug 2023 21:08:44 +0000 (23:08 +0200)]
cache ICU transliterators and reuse them

2 years agoMerge pull request #3150 from alfmarcua/allow_neg_id_details
Sarah Hoffmann [Mon, 14 Aug 2023 09:41:42 +0000 (11:41 +0200)]
Merge pull request #3150 from alfmarcua/allow_neg_id_details

Allow negative osm_id in details page by setting default parameter to 0

2 years agofix regression in default setting for details linkedplaces
Sarah Hoffmann [Sun, 13 Aug 2023 13:30:04 +0000 (15:30 +0200)]
fix regression in default setting for details linkedplaces

2 years agoprefer name-only searches more
Sarah Hoffmann [Sun, 13 Aug 2023 13:24:16 +0000 (15:24 +0200)]
prefer name-only searches more

2 years agoreturn bbox of full country for country searches
Sarah Hoffmann [Sun, 13 Aug 2023 12:37:28 +0000 (14:37 +0200)]
return bbox of full country for country searches

Fixes #3149.

2 years agofix application of label to wrong expression
Sarah Hoffmann [Sun, 13 Aug 2023 09:59:01 +0000 (11:59 +0200)]
fix application of label to wrong expression

2 years agoavoid lambda SQL in connection with alias tables
Sarah Hoffmann [Sun, 13 Aug 2023 09:40:49 +0000 (11:40 +0200)]
avoid lambda SQL in connection with alias tables

2 years agouse coalsce() instead of indexless postgis functions
Sarah Hoffmann [Sat, 12 Aug 2023 17:14:13 +0000 (19:14 +0200)]
use coalsce() instead of indexless postgis functions

ST_Intersects is deemed too expensive by the query planer which
leads to odd plans when index use is avoided.

2 years agodo not use index when searching in large areas
Sarah Hoffmann [Sat, 12 Aug 2023 14:12:44 +0000 (16:12 +0200)]
do not use index when searching in large areas

This concerns viewboxes as well as radius search.

2 years agoadapt tests to changes in search
Sarah Hoffmann [Sat, 12 Aug 2023 14:12:31 +0000 (16:12 +0200)]
adapt tests to changes in search

2 years agotake token_assignment penalty into account
Sarah Hoffmann [Sat, 12 Aug 2023 13:33:50 +0000 (15:33 +0200)]
take token_assignment penalty into account

Also computes the expected count differently when addresses are
involved. Address token counts do not bare a direct relation to
real counts.

2 years agofix debug output for NearSearch
Sarah Hoffmann [Sat, 12 Aug 2023 09:27:55 +0000 (11:27 +0200)]
fix debug output for NearSearch

The search info is in a subsearch and was therefore not taken into
account.

2 years agoimprove penalty for token-split words
Sarah Hoffmann [Sat, 12 Aug 2023 09:26:02 +0000 (11:26 +0200)]
improve penalty for token-split words

The rematch penalty for partial words created by the transliteration
need to take into account that they are rematched against the full word.
That means that missing beginning and end should not get a significant
penalty.

2 years agoAllow negative osm_id in details page by setting default parameter to 0
alfmarcua [Fri, 11 Aug 2023 08:46:28 +0000 (10:46 +0200)]
Allow negative osm_id in details page by setting default parameter to 0

2 years agofix lookup polygon output
Sarah Hoffmann [Tue, 8 Aug 2023 17:42:55 +0000 (19:42 +0200)]
fix lookup polygon output

Fixes #3147.

2 years agoSearch.md - update XML and JSON example output
marc tobias [Fri, 4 Aug 2023 11:15:50 +0000 (13:15 +0200)]
Search.md - update XML and JSON example output

2 years agoMerge pull request #3146 from lonvia/forbid-mixed-queries
Sarah Hoffmann [Tue, 8 Aug 2023 15:34:32 +0000 (17:34 +0200)]
Merge pull request #3146 from lonvia/forbid-mixed-queries

Do not allow to mix structured and unstructured search

2 years agoreturn an error when q is used together with structured parameters
Sarah Hoffmann [Tue, 8 Aug 2023 13:54:55 +0000 (15:54 +0200)]
return an error when q is used together with structured parameters

2 years agoremove lookup by address only
Sarah Hoffmann [Sun, 6 Aug 2023 17:20:10 +0000 (19:20 +0200)]
remove lookup by address only

There are too many lookups where the address is very frequent,
even when many address parts are present.

2 years agoallow oversized viewboxes again
Sarah Hoffmann [Sun, 6 Aug 2023 15:47:47 +0000 (17:47 +0200)]
allow oversized viewboxes again

This seems to be a rather regular thing when unconditionally sending
the current view and being zoomed out.

Fixes #3137.

2 years agoprovide full URL in more field
Sarah Hoffmann [Sun, 6 Aug 2023 15:20:16 +0000 (17:20 +0200)]
provide full URL in more field

This is a regression against the PHP version.

Fixes #3138.

2 years agoremove SQL lambdas with IN expressions
Sarah Hoffmann [Wed, 2 Aug 2023 10:34:07 +0000 (12:34 +0200)]
remove SQL lambdas with IN expressions

The values of IN expressions are incorrectly cached.

2 years agoonly print non-empty search tables
Sarah Hoffmann [Tue, 1 Aug 2023 13:29:00 +0000 (15:29 +0200)]
only print non-empty search tables

2 years agodo not lookup by address vector when only few tokens are available
Sarah Hoffmann [Mon, 31 Jul 2023 12:27:39 +0000 (14:27 +0200)]
do not lookup by address vector when only few tokens are available

Names of countries and states are exceedingly rare in the word count
but are very frequent in the address. A short name has the danger
of producing too many results.

2 years agofix regression with lat/lon in json output
Sarah Hoffmann [Tue, 1 Aug 2023 10:21:11 +0000 (12:21 +0200)]
fix regression with lat/lon in json output

lat, lon is returned as strings in the PHP output. Reproduce that in the
Python frontend.

See #3115.

2 years agoallow OPTIONS method in starlette CORS middleware
Sarah Hoffmann [Tue, 1 Aug 2023 09:12:36 +0000 (11:12 +0200)]
allow OPTIONS method in starlette CORS middleware

If not allowed, then the middleware will return a 400 on pre-flight
CORS requests.

Fixes #3129.

2 years agoMerge pull request #3122 from miku0/sanitizer-final
Sarah Hoffmann [Tue, 1 Aug 2023 08:38:58 +0000 (10:38 +0200)]
Merge pull request #3122 from miku0/sanitizer-final

Adds sanitizer for Japanese addresses to correspond to block address

2 years agoMoved KANJI_MAP to icu-rules
miku0 [Mon, 31 Jul 2023 11:57:49 +0000 (11:57 +0000)]
Moved KANJI_MAP to icu-rules

2 years agoMerge pull request #3128 from lonvia/fix-classtype-lookup
Sarah Hoffmann [Mon, 31 Jul 2023 08:20:58 +0000 (10:20 +0200)]
Merge pull request #3128 from lonvia/fix-classtype-lookup

Fix query over classtype tables

2 years agoAdd the test of reconbine_place
miku0 [Mon, 31 Jul 2023 02:39:56 +0000 (02:39 +0000)]
Add the test of reconbine_place

2 years agoFixed cosmetic issues
miku0 [Mon, 31 Jul 2023 02:39:04 +0000 (02:39 +0000)]
Fixed cosmetic issues

2 years agofix query over classtype tables
Sarah Hoffmann [Sun, 30 Jul 2023 21:51:36 +0000 (23:51 +0200)]
fix query over classtype tables

The case statement prevented the index on the classtype tables
from being used. Move the case statement inside the geometry
function instead.

2 years agoMerge pull request #3127 from lonvia/file-logging
Sarah Hoffmann [Sun, 30 Jul 2023 19:22:48 +0000 (21:22 +0200)]
Merge pull request #3127 from lonvia/file-logging

Add file logging for Python frontend

2 years agoreintroduce file logging for Python frontend
Sarah Hoffmann [Sun, 30 Jul 2023 17:58:00 +0000 (19:58 +0200)]
reintroduce file logging for Python frontend

2 years agoadd @fail-legacy
miku0 [Thu, 27 Jul 2023 07:33:53 +0000 (07:33 +0000)]
add @fail-legacy

2 years agoMoved KANJI_MAP to global variable
miku0 [Wed, 26 Jul 2023 21:43:22 +0000 (21:43 +0000)]
Moved KANJI_MAP to global variable

2 years agoMerge pull request #3125 from lonvia/warm-to-python
Sarah Hoffmann [Wed, 26 Jul 2023 20:37:37 +0000 (22:37 +0200)]
Merge pull request #3125 from lonvia/warm-to-python

Port warm and export functions to Python

2 years agoolder version of Postgres cannot convert jsonb to int
Sarah Hoffmann [Wed, 26 Jul 2023 15:45:21 +0000 (17:45 +0200)]
older version of Postgres cannot convert jsonb to int

2 years agoolder Python versions need a reference to the loop for a lock
Sarah Hoffmann [Wed, 26 Jul 2023 13:17:18 +0000 (15:17 +0200)]
older Python versions need a reference to the loop for a lock

2 years agoCorrection to PR's comment
miku0 [Wed, 26 Jul 2023 09:50:25 +0000 (09:50 +0000)]
Correction to PR's comment

2 years agoadd tests for new arm and export Python functions
Sarah Hoffmann [Wed, 26 Jul 2023 09:09:52 +0000 (11:09 +0200)]
add tests for new arm and export Python functions

2 years agoadd japanese sanitizer
miku0 [Wed, 26 Jul 2023 07:54:58 +0000 (07:54 +0000)]
add japanese sanitizer

2 years agomostly remove php-cgi requirement
Sarah Hoffmann [Tue, 25 Jul 2023 22:10:11 +0000 (00:10 +0200)]
mostly remove php-cgi requirement

This is now only needed for BDD tests against the php API.

2 years agoremove now unused run_api_script function
Sarah Hoffmann [Tue, 25 Jul 2023 20:45:29 +0000 (22:45 +0200)]
remove now unused run_api_script function

2 years agoremove now unused run_legacy_script()
Sarah Hoffmann [Thu, 20 Jul 2023 10:14:19 +0000 (12:14 +0200)]
remove now unused run_legacy_script()

2 years agoport export function to Python
Sarah Hoffmann [Mon, 17 Jul 2023 20:37:07 +0000 (22:37 +0200)]
port export function to Python

Some of the parameters have been renoved as they don't make sense
anymore.

2 years agomove warm script to python code
Sarah Hoffmann [Sun, 16 Jul 2023 18:12:53 +0000 (20:12 +0200)]
move warm script to python code

2 years agoMerge pull request #3121 from lonvia/port-remaining-api-calls
Sarah Hoffmann [Tue, 25 Jul 2023 18:56:38 +0000 (20:56 +0200)]
Merge pull request #3121 from lonvia/port-remaining-api-calls

Port remaining API endpoints to Python

2 years agoadd tests for new endpoints
Sarah Hoffmann [Tue, 25 Jul 2023 08:57:19 +0000 (10:57 +0200)]
add tests for new endpoints

2 years agoadd /polygons endpoint to Python v1 API
Sarah Hoffmann [Sat, 22 Jul 2023 18:59:13 +0000 (20:59 +0200)]
add /polygons endpoint to Python v1 API

2 years agoadd deletable endpoint
Sarah Hoffmann [Sat, 22 Jul 2023 15:21:24 +0000 (17:21 +0200)]
add deletable endpoint

2 years agoremove debug print
Sarah Hoffmann [Sat, 22 Jul 2023 11:54:23 +0000 (13:54 +0200)]
remove debug print

2 years agoMerge pull request #3117 from lonvia/fix-assorted-search-errors
Sarah Hoffmann [Sat, 22 Jul 2023 09:45:36 +0000 (11:45 +0200)]
Merge pull request #3117 from lonvia/fix-assorted-search-errors

More improvements to the Python search algorithm

2 years agodisallow special housenumber search with a single frequent partial
Sarah Hoffmann [Thu, 20 Jul 2023 16:05:54 +0000 (18:05 +0200)]
disallow special housenumber search with a single frequent partial

2 years agodo not split names from typed phrases
Sarah Hoffmann [Mon, 17 Jul 2023 14:25:39 +0000 (16:25 +0200)]
do not split names from typed phrases

When phrases are typed, they should only contain exactly one term.

2 years agosplit up get_assignment functon in more readable parts
Sarah Hoffmann [Mon, 17 Jul 2023 13:17:54 +0000 (15:17 +0200)]
split up get_assignment functon in more readable parts

2 years agodisallow address searches that start with a postcode
Sarah Hoffmann [Mon, 17 Jul 2023 09:45:35 +0000 (11:45 +0200)]
disallow address searches that start with a postcode

These are postcode searches and nothing else.

2 years agoblock search queries with too many tokens
Sarah Hoffmann [Sat, 15 Jul 2023 14:31:39 +0000 (16:31 +0200)]
block search queries with too many tokens

2 years agosimplify yield_lookups() function
Sarah Hoffmann [Sat, 15 Jul 2023 09:41:31 +0000 (11:41 +0200)]
simplify yield_lookups() function

Move creation of field lookups in separate functions to make the code
more readable.

2 years agopenalize name token splitting when phrases are used
Sarah Hoffmann [Sat, 15 Jul 2023 08:55:34 +0000 (10:55 +0200)]
penalize name token splitting when phrases are used

2 years agopenalize search with frequent partials
Sarah Hoffmann [Fri, 14 Jul 2023 19:55:07 +0000 (21:55 +0200)]
penalize search with frequent partials

Avoid search against frequent partials if we have already looked for
the full name equivalents.

2 years agoavoid splitting of first token when a housenumber is present
Sarah Hoffmann [Fri, 14 Jul 2023 19:05:13 +0000 (21:05 +0200)]
avoid splitting of first token when a housenumber is present

This only covers the case of <poi name> <street name> <housenumber>
which is exceedingly rare.

2 years agoincrease threshold for full name searches
Sarah Hoffmann [Fri, 14 Jul 2023 19:03:42 +0000 (21:03 +0200)]
increase threshold for full name searches

They still should be preferrred over expensive partial name searches.

2 years agofix search for housenumber names
Sarah Hoffmann [Thu, 13 Jul 2023 14:43:56 +0000 (16:43 +0200)]
fix search for housenumber names

The search still included a lookup of housenumbers in children which is
wrong.

2 years agoMerge pull request #3112 from jenkin/fix-polgyon-polygon-typo
Sarah Hoffmann [Mon, 17 Jul 2023 12:20:14 +0000 (14:20 +0200)]
Merge pull request #3112 from jenkin/fix-polgyon-polygon-typo

fix polgyon polygon typo

2 years agofix polgyon polygon typo
Alessio Cimarelli [Mon, 17 Jul 2023 08:11:57 +0000 (10:11 +0200)]
fix polgyon polygon typo

2 years agoMerge pull request #3110 from lonvia/sql-lambda-queries
Sarah Hoffmann [Fri, 14 Jul 2023 16:57:31 +0000 (18:57 +0200)]
Merge pull request #3110 from lonvia/sql-lambda-queries

Use SQLAlchemy's lambda statements

2 years agoselected lambdas for search
Sarah Hoffmann [Wed, 12 Jul 2023 19:16:46 +0000 (21:16 +0200)]
selected lambdas for search

2 years agoadd lambdas for layer filters
Sarah Hoffmann [Wed, 12 Jul 2023 12:33:29 +0000 (14:33 +0200)]
add lambdas for layer filters

2 years agoavoid forwarding variables via SQL
Sarah Hoffmann [Wed, 12 Jul 2023 12:04:30 +0000 (14:04 +0200)]
avoid forwarding variables via SQL

2 years agomake SQL statements in reverse lambda functions
Sarah Hoffmann [Wed, 12 Jul 2023 09:46:07 +0000 (11:46 +0200)]
make SQL statements in reverse lambda functions

Further improves internal caching of statements by SQLAlchemy.

2 years agoMerge pull request #3096 from alfmarcua/search-within-countries-parameter
Sarah Hoffmann [Wed, 12 Jul 2023 15:45:55 +0000 (17:45 +0200)]
Merge pull request #3096 from alfmarcua/search-within-countries-parameter

Parameterise the search only within countries

2 years agoSplit lookupInCountry in two functions and document NOMINATIM_SEARCH_WITHIN_COUNTRIES...
alfmarcua [Thu, 6 Jul 2023 06:52:12 +0000 (08:52 +0200)]
Split lookupInCountry in two functions and document NOMINATIM_SEARCH_WITHIN_COUNTRIES parameter

2 years agoParameterise the search only within countries
alfmarcua [Thu, 6 Jul 2023 06:52:41 +0000 (08:52 +0200)]
Parameterise the search only within countries

2 years agoMerge pull request #3109 from lonvia/prepared-statements
Sarah Hoffmann [Mon, 10 Jul 2023 09:45:29 +0000 (11:45 +0200)]
Merge pull request #3109 from lonvia/prepared-statements

Make prepared statements work with Python API

2 years agoavoid index-use on rank parameters for reverse lookups
Sarah Hoffmann [Sat, 8 Jul 2023 19:47:07 +0000 (21:47 +0200)]
avoid index-use on rank parameters for reverse lookups

2 years agoforce a fixed pool size and make it configurable
Sarah Hoffmann [Sat, 8 Jul 2023 17:38:54 +0000 (19:38 +0200)]
force a fixed pool size and make it configurable

2 years agouse constant expressions to select partial indexes in reverse
Sarah Hoffmann [Sat, 8 Jul 2023 14:28:51 +0000 (16:28 +0200)]
use constant expressions to select partial indexes in reverse

When expressions are generated with SQLAlchemy, any constants are
replaced with bind parameters. The bind parameters become parameters of
prepared statements. The result is that the query planner tends to
oversee that the partial indexes can be used.

2 years agoremove disabling of prepared statements
Sarah Hoffmann [Sat, 8 Jul 2023 13:59:15 +0000 (15:59 +0200)]
remove disabling of prepared statements

Fixes for query planning with prepared statements to follow in
subsequent commits.

2 years agoMerge pull request #3107 from lonvia/performance-search
Sarah Hoffmann [Sat, 8 Jul 2023 13:53:42 +0000 (15:53 +0200)]
Merge pull request #3107 from lonvia/performance-search

Assorted fixes to Python search code

2 years agoThese days the OSM wikipedia tab no longer contains URLs
Marc Tobias [Fri, 7 Jul 2023 15:36:11 +0000 (17:36 +0200)]
These days the OSM wikipedia tab no longer contains URLs

2 years agoincrease minimum required SQLAlchemy version to 1.4.31
Sarah Hoffmann [Thu, 6 Jul 2023 12:15:51 +0000 (14:15 +0200)]
increase minimum required SQLAlchemy version to 1.4.31

2 years agomake get_addressdata calls cachable
Sarah Hoffmann [Thu, 6 Jul 2023 08:54:56 +0000 (10:54 +0200)]
make get_addressdata calls cachable

VALUEs() is not a cachable construct in SQLAlchemy, so use arrays
instead. Also add a special case for single results, the usual result
for reverse queries.

2 years agoadd support for postcompile literals in debug output
Sarah Hoffmann [Thu, 6 Jul 2023 07:29:20 +0000 (09:29 +0200)]
add support for postcompile literals in debug output

2 years agofix SRID handling in Geometry type
Sarah Hoffmann [Tue, 4 Jul 2023 14:08:18 +0000 (16:08 +0200)]
fix SRID handling in Geometry type

2 years agoavoid lookup via partials on frequent words
Sarah Hoffmann [Wed, 5 Jul 2023 12:07:11 +0000 (14:07 +0200)]
avoid lookup via partials on frequent words

Drops expensive searches via partials on terms like 'rue de'.

See #2979.

2 years agoadd a small penalty to lookups in address vectors
Sarah Hoffmann [Tue, 4 Jul 2023 14:54:42 +0000 (16:54 +0200)]
add a small penalty to lookups in address vectors

2 years agoMerge pull request #3101 from lonvia/custom-geometry-type
Sarah Hoffmann [Mon, 3 Jul 2023 09:03:26 +0000 (11:03 +0200)]
Merge pull request #3101 from lonvia/custom-geometry-type

Improve use of SQLAlchemy statement cache with search queries

2 years agomake types compatible with older Python versions
Sarah Hoffmann [Sun, 2 Jul 2023 21:05:15 +0000 (23:05 +0200)]
make types compatible with older Python versions

2 years agoremove GeoAlchemy as dependency
Sarah Hoffmann [Sat, 1 Jul 2023 16:16:23 +0000 (18:16 +0200)]
remove GeoAlchemy as dependency

2 years agoalways run function update on migrations
Sarah Hoffmann [Sat, 1 Jul 2023 16:13:30 +0000 (18:13 +0200)]
always run function update on migrations

This means that we can have migrations which require nothing but
an update of the functions.

2 years agofix linting issues
Sarah Hoffmann [Sat, 1 Jul 2023 16:02:46 +0000 (18:02 +0200)]
fix linting issues

2 years agoreplace regexp_match with generic op() functions
Sarah Hoffmann [Fri, 30 Jun 2023 12:41:01 +0000 (14:41 +0200)]
replace regexp_match with generic op() functions

Works around a bug in SQLAlchemy where regexp_match creates an
unstable cache key.

2 years agoreplace CASE construct with plpgsql function
Sarah Hoffmann [Wed, 28 Jun 2023 12:27:35 +0000 (14:27 +0200)]
replace CASE construct with plpgsql function

2 years agoband-aid for SQLAlchemy 1.4
Sarah Hoffmann [Mon, 26 Jun 2023 19:37:17 +0000 (21:37 +0200)]
band-aid for SQLAlchemy 1.4

2 years agomove search to bind parameters
Sarah Hoffmann [Mon, 26 Jun 2023 13:56:10 +0000 (15:56 +0200)]
move search to bind parameters

2 years agoswitch reverse() to new Geometry datatype
Sarah Hoffmann [Sun, 25 Jun 2023 12:02:00 +0000 (14:02 +0200)]
switch reverse() to new Geometry datatype

Also switches to using bind parameters for recurring parameters.