]> git.openstreetmap.org Git - nominatim.git/log
nominatim.git
16 months 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.

16 months 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

16 months 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

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

16 months 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

16 months 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

16 months 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

16 months 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.

16 months 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.

16 months 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

16 months 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

16 months 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.

16 months 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

16 months 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

16 months 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.

16 months 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

16 months 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

16 months 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

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

16 months 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.

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

16 months 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.

16 months 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

16 months 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

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

16 months 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.

16 months agointroduce slim Geometry database type
Sarah Hoffmann [Sun, 25 Jun 2023 07:38:44 +0000 (09:38 +0200)]
introduce slim Geometry database type

16 months agoMerge pull request #3100 from lonvia/fix-name-merging-in-unnamed-boundaries
Sarah Hoffmann [Sat, 1 Jul 2023 13:36:56 +0000 (15:36 +0200)]
Merge pull request #3100 from lonvia/fix-name-merging-in-unnamed-boundaries

Fix merging of linked names into unnamed boundaries

16 months agofix merging of linked names into unnamed boundaries
Sarah Hoffmann [Fri, 30 Jun 2023 20:14:11 +0000 (22:14 +0200)]
fix merging of linked names into unnamed boundaries

The NULL value of the boundaries' name field was erasing all
content when used in SQL operations.

16 months agoMerge pull request #3099 from lonvia/determine-place-address-from-tokenizer
Sarah Hoffmann [Fri, 30 Jun 2023 19:47:57 +0000 (21:47 +0200)]
Merge pull request #3099 from lonvia/determine-place-address-from-tokenizer

Use information from tokenizer to determine street vs. place address

16 months agoalso switch legacy tokenizer to new street/place choice behaviour
Sarah Hoffmann [Fri, 30 Jun 2023 13:28:00 +0000 (15:28 +0200)]
also switch legacy tokenizer to new street/place choice behaviour

16 months agofix optional string representation or repr(PlaceName)
Sarah Hoffmann [Thu, 29 Jun 2023 20:02:55 +0000 (22:02 +0200)]
fix optional string representation or repr(PlaceName)

16 months agouse information from tokenizer to determine street vs. place address
Sarah Hoffmann [Fri, 30 Jun 2023 09:08:25 +0000 (11:08 +0200)]
use information from tokenizer to determine street vs. place address

So far the SQL logic used the information from the address field
to determine if an address is attached to a street or place.
This changes the logic to use the information provided in the
token_info. This allows sanitizers to enforce a certain parenting
without changing the visible address information.

17 months agoMerge pull request #3094 from lonvia/fix-failing-bdd-tests
Sarah Hoffmann [Thu, 22 Jun 2023 20:28:31 +0000 (22:28 +0200)]
Merge pull request #3094 from lonvia/fix-failing-bdd-tests

Add BDD tests against Python frontend to CI

17 months agoMerge pull request #3090 from mtmail/check-database-on-frozen-database
Sarah Hoffmann [Thu, 22 Jun 2023 18:11:30 +0000 (20:11 +0200)]
Merge pull request #3090 from mtmail/check-database-on-frozen-database

check-database on frozen db shouldnt recommend indexing

17 months agoadd python frontend tests to CI
Sarah Hoffmann [Thu, 22 Jun 2023 15:29:44 +0000 (17:29 +0200)]
add python frontend tests to CI

17 months agoslightly adapt postcode tests
Sarah Hoffmann [Thu, 22 Jun 2023 14:51:59 +0000 (16:51 +0200)]
slightly adapt postcode tests

17 months agobdd: fix faking HTTP headers for python web frameworks
Sarah Hoffmann [Wed, 21 Jun 2023 09:33:42 +0000 (11:33 +0200)]
bdd: fix faking HTTP headers for python web frameworks

17 months agoMerge branch 'osm-search:master' into check-database-on-frozen-database
mtmail [Thu, 22 Jun 2023 10:14:55 +0000 (12:14 +0200)]
Merge branch 'osm-search:master' into check-database-on-frozen-database

17 months agomove text normalization into extra function
Sarah Hoffmann [Thu, 22 Jun 2023 08:48:05 +0000 (10:48 +0200)]
move text normalization into extra function

17 months agoMerge pull request #3093 from lonvia/remove-sanic
Sarah Hoffmann [Thu, 22 Jun 2023 07:55:32 +0000 (09:55 +0200)]
Merge pull request #3093 from lonvia/remove-sanic

Remove support for Sanic

17 months agocheck-database on frozen db shouldnt recommend indexing
Marc Tobias [Mon, 19 Jun 2023 16:43:17 +0000 (18:43 +0200)]
check-database on frozen db shouldnt recommend indexing

17 months agouse in operator for enum tests
Sarah Hoffmann [Wed, 21 Jun 2023 13:30:40 +0000 (15:30 +0200)]
use in operator for enum tests

Fixes a complaint by mypy.

17 months agoremove useless check
Sarah Hoffmann [Wed, 21 Jun 2023 09:56:39 +0000 (11:56 +0200)]
remove useless check

Found by new mypy version.

17 months agoremove support for sanic framework
Sarah Hoffmann [Wed, 21 Jun 2023 08:53:57 +0000 (10:53 +0200)]
remove support for sanic framework

There is no performance gain over falcon or starlette but the special
structure of sanic makes it hard to have exchangable code

17 months agoupdate project information for taginfo.json
Sarah Hoffmann [Wed, 21 Jun 2023 08:06:25 +0000 (10:06 +0200)]
update project information for taginfo.json

17 months agoMerge pull request #3045 from biswajit-k/taginfo
Sarah Hoffmann [Wed, 21 Jun 2023 08:01:40 +0000 (10:01 +0200)]
Merge pull request #3045 from biswajit-k/taginfo

Add script to generate taginfo project description

17 months agoMerge pull request #3091 from lonvia/fix-postcode-search
Sarah Hoffmann [Tue, 20 Jun 2023 14:13:20 +0000 (16:13 +0200)]
Merge pull request #3091 from lonvia/fix-postcode-search

Assorted smaller fixes for Python-based search code

17 months agoavoid fallback country lookup when places are excluded
Sarah Hoffmann [Tue, 20 Jun 2023 10:22:08 +0000 (12:22 +0200)]
avoid fallback country lookup when places are excluded

17 months agoallow empty parts in excluded_place_id
Sarah Hoffmann [Tue, 20 Jun 2023 09:33:35 +0000 (11:33 +0200)]
allow empty parts in excluded_place_id

This worked before.

17 months agofix header name for browser languages
Sarah Hoffmann [Tue, 20 Jun 2023 09:09:44 +0000 (11:09 +0200)]
fix header name for browser languages

17 months agotweak postcode search
Sarah Hoffmann [Tue, 20 Jun 2023 08:54:04 +0000 (10:54 +0200)]
tweak postcode search

Give a preference to left-right reading, i.e <postcode>,<address>
prefers a postcode search while <address>,<postcode> rather does
an address search.

Also exclude non-addressables, countries and state from results when a
postcode is contained in the query.

17 months agouse string representation when dumping variables
Sarah Hoffmann [Tue, 20 Jun 2023 08:15:51 +0000 (10:15 +0200)]
use string representation when dumping variables

17 months agofix debug output for searches
Sarah Hoffmann [Tue, 20 Jun 2023 08:12:19 +0000 (10:12 +0200)]
fix debug output for searches

Fields have been renamed.

17 months agoMerge pull request #3086 from lonvia/close-connection-on-replication
Sarah Hoffmann [Mon, 19 Jun 2023 13:48:00 +0000 (15:48 +0200)]
Merge pull request #3086 from lonvia/close-connection-on-replication

Close database connections while waiting for the next update cycle

17 months agoMerge pull request #3087 from lonvia/conditional-spgist
Sarah Hoffmann [Mon, 19 Jun 2023 13:47:37 +0000 (15:47 +0200)]
Merge pull request #3087 from lonvia/conditional-spgist

Disable SPGist for PostgreSQL < 11

17 months agoMerge pull request #3085 from lonvia/allow-brackets-in-password
Sarah Hoffmann [Mon, 19 Jun 2023 12:44:22 +0000 (14:44 +0200)]
Merge pull request #3085 from lonvia/allow-brackets-in-password

Do not fail php script generation when curly braces are present

17 months agono longer recommend continuous update mode
Sarah Hoffmann [Mon, 19 Jun 2023 10:07:09 +0000 (12:07 +0200)]
no longer recommend continuous update mode

17 months agoclose DB connection when waiting for next update cycle
Sarah Hoffmann [Mon, 19 Jun 2023 10:02:51 +0000 (12:02 +0200)]
close DB connection when waiting for next update cycle

17 months agodo not fail php script generation when curly braces are present
Sarah Hoffmann [Mon, 19 Jun 2023 09:23:30 +0000 (11:23 +0200)]
do not fail php script generation when curly braces are present

Fixes #3084.

17 months agoAdd custom config to information required for bug reports
Sarah Hoffmann [Sun, 18 Jun 2023 07:27:55 +0000 (09:27 +0200)]
Add custom config to information required for bug reports

17 months agodisable SPGist for PostgreSQL < 11
Sarah Hoffmann [Tue, 13 Jun 2023 13:15:43 +0000 (15:15 +0200)]
disable SPGist for PostgreSQL < 11

Before that version, an operator needed to be given.

17 months agoadd instructions for switching to user for install scripts
Sarah Hoffmann [Tue, 13 Jun 2023 12:12:56 +0000 (14:12 +0200)]
add instructions for switching to user for install scripts

Fixes #3057.

17 months agoremove Ubuntu 18 installation from TOC
Sarah Hoffmann [Tue, 13 Jun 2023 12:05:54 +0000 (14:05 +0200)]
remove Ubuntu 18 installation from TOC

Fixes #3072.

17 months agoMerge pull request #3073 from mtmail/vagrantfile-remove-ubuntu-18
Sarah Hoffmann [Tue, 13 Jun 2023 10:31:10 +0000 (12:31 +0200)]
Merge pull request #3073 from mtmail/vagrantfile-remove-ubuntu-18

Vagrantfile - remove Ubuntu 18

17 months agoVagrantfile - remove Ubuntu 18
marc tobias [Mon, 29 May 2023 22:22:18 +0000 (00:22 +0200)]
Vagrantfile - remove Ubuntu 18

17 months agoMerge pull request #3067 from lonvia/python-search-api
Sarah Hoffmann [Sat, 27 May 2023 06:56:06 +0000 (08:56 +0200)]
Merge pull request #3067 from lonvia/python-search-api

Python implementation of Search API

17 months agomake code backwards-compatible with older Python versions
Sarah Hoffmann [Fri, 26 May 2023 16:09:03 +0000 (18:09 +0200)]
make code backwards-compatible with older Python versions

18 months agoremove tests for old PHP cli commands
Sarah Hoffmann [Fri, 26 May 2023 15:36:05 +0000 (17:36 +0200)]
remove tests for old PHP cli commands

18 months agofix new linting warning
Sarah Hoffmann [Fri, 26 May 2023 14:31:43 +0000 (16:31 +0200)]
fix new linting warning

18 months agofix various failing BDD tests
Sarah Hoffmann [Fri, 26 May 2023 13:08:48 +0000 (15:08 +0200)]
fix various failing BDD tests

18 months agoadd support for search by houenumber
Sarah Hoffmann [Fri, 26 May 2023 12:10:57 +0000 (14:10 +0200)]
add support for search by houenumber

18 months agoignore name rankings without variants
Sarah Hoffmann [Fri, 26 May 2023 09:52:27 +0000 (11:52 +0200)]
ignore name rankings without variants

18 months agoproperly close connections when shutting down starlette
Sarah Hoffmann [Fri, 26 May 2023 09:44:25 +0000 (11:44 +0200)]
properly close connections when shutting down starlette

18 months agofix geocodejson address assignment
Sarah Hoffmann [Fri, 26 May 2023 09:43:11 +0000 (11:43 +0200)]
fix geocodejson address assignment

The categories should be assigned the address part with the
highest address rank not lowest.

18 months agoadd server fronting for search endpoint
Sarah Hoffmann [Fri, 26 May 2023 09:40:45 +0000 (11:40 +0200)]
add server fronting for search endpoint

This also implements some of the quirks of free-text search of the
V1 API, in particular, search for categories and coordinates.

18 months agoadd timestamps to HTML debug output
Sarah Hoffmann [Fri, 26 May 2023 07:05:44 +0000 (09:05 +0200)]
add timestamps to HTML debug output

18 months agomingle names from linked places into results
Sarah Hoffmann [Wed, 24 May 2023 21:17:15 +0000 (23:17 +0200)]
mingle names from linked places into results

18 months agoswitch CLI search command to python implementation
Sarah Hoffmann [Wed, 24 May 2023 20:54:54 +0000 (22:54 +0200)]
switch CLI search command to python implementation

18 months agomake localisation of results explicit
Sarah Hoffmann [Wed, 24 May 2023 16:12:34 +0000 (18:12 +0200)]
make localisation of results explicit

Localisation was previously done as part of the formatting but might
also be useful on its own when working with the results directly.

18 months agoadd API functions for search functions
Sarah Hoffmann [Wed, 24 May 2023 15:43:28 +0000 (17:43 +0200)]
add API functions for search functions

Search is now split into three functions: for free-text search,
for structured search and for search by category. Note that the
free-text search does not have as many hidden features like
coordinate search. Use the search parameters for that.

18 months agoimplement actual database searches
Sarah Hoffmann [Wed, 24 May 2023 11:52:31 +0000 (13:52 +0200)]
implement actual database searches

18 months agoimplement search builder
Sarah Hoffmann [Tue, 23 May 2023 09:20:34 +0000 (11:20 +0200)]
implement search builder

18 months agoimplement token assignment
Sarah Hoffmann [Mon, 22 May 2023 13:49:03 +0000 (15:49 +0200)]
implement token assignment

18 months agoadd query analyser for legacy tokenizer
Sarah Hoffmann [Mon, 22 May 2023 09:07:14 +0000 (11:07 +0200)]
add query analyser for legacy tokenizer

18 months agoadd factory for query analyzer
Sarah Hoffmann [Mon, 22 May 2023 07:23:19 +0000 (09:23 +0200)]
add factory for query analyzer

18 months agoquery analyzer for ICU tokenizer
Sarah Hoffmann [Mon, 22 May 2023 06:46:19 +0000 (08:46 +0200)]
query analyzer for ICU tokenizer

18 months agoadd ci-test for taginfo file generation
biswajit-k [Sun, 21 May 2023 18:19:04 +0000 (23:49 +0530)]
add ci-test for taginfo file generation

18 months agoadd data structure for tokenized query
Sarah Hoffmann [Sat, 20 May 2023 21:46:15 +0000 (23:46 +0200)]
add data structure for tokenized query

18 months agodocs: add installation instruction for dkjson package
biswajit-k [Fri, 19 May 2023 17:52:42 +0000 (23:22 +0530)]
docs: add installation instruction for dkjson package

18 months agoAdd script to generate taginfo project description
biswajit-k [Wed, 26 Apr 2023 18:14:20 +0000 (23:44 +0530)]
Add script to generate taginfo project description

18 months agoMerge pull request #3064 from lonvia/clicmd-debug-output
Sarah Hoffmann [Fri, 19 May 2023 06:55:26 +0000 (08:55 +0200)]
Merge pull request #3064 from lonvia/clicmd-debug-output

Enable debug output on command line

18 months agoenable debug output on command line
Sarah Hoffmann [Thu, 18 May 2023 20:37:46 +0000 (22:37 +0200)]
enable debug output on command line

18 months agoMerge pull request #3063 from lonvia/variable-parameters
Sarah Hoffmann [Thu, 18 May 2023 20:27:18 +0000 (22:27 +0200)]
Merge pull request #3063 from lonvia/variable-parameters

Rework how search parameters are handed to the Python API

18 months agofix use of subquery in reverse
Sarah Hoffmann [Thu, 18 May 2023 18:27:07 +0000 (20:27 +0200)]
fix use of subquery in reverse

18 months agomove zoom_to_rank computation to extra file
Sarah Hoffmann [Thu, 18 May 2023 16:29:41 +0000 (18:29 +0200)]
move zoom_to_rank computation to extra file

18 months agoadd tests for parameter converter
Sarah Hoffmann [Thu, 18 May 2023 16:09:07 +0000 (18:09 +0200)]
add tests for parameter converter

18 months agoMerge pull request #3062 from lonvia/enable-psycopg
Sarah Hoffmann [Thu, 18 May 2023 16:07:11 +0000 (18:07 +0200)]
Merge pull request #3062 from lonvia/enable-psycopg

Add support for psycopg 3 in the frontend

18 months agoswitch API parameters to keyword arguments
Sarah Hoffmann [Thu, 18 May 2023 15:42:23 +0000 (17:42 +0200)]
switch API parameters to keyword arguments

This switches the input parameters for API calls to a generic
keyword argument catch-all which is then loaded into a dataclass
where the parameters are checked and forwarded to internal
function.

The dataclass gives more flexibility with the parameters and makes
it easier to reuse common parameters for the different API calls.

18 months agoactions: run tests against psycopg
Sarah Hoffmann [Thu, 18 May 2023 11:03:03 +0000 (13:03 +0200)]
actions: run tests against psycopg