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

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

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

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

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

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

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

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

17 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.

17 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

17 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

17 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

17 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

17 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

17 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

17 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.

17 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.

17 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

17 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

17 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.

17 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

17 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

17 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.

17 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

17 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

17 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

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

17 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.

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

17 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.

17 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

17 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

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

17 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.

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

17 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

17 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.

17 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

17 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

17 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)

17 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.

18 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

18 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

18 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

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

18 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

18 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

18 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

18 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

18 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

18 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.

18 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.

18 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

18 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

18 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

18 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

18 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

18 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.

18 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

18 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.

18 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

18 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.

18 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

18 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

18 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

18 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

18 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

18 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.

18 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

18 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.

18 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.

18 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.

18 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

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

18 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

18 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

19 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

19 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

19 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.

19 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.

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

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

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

19 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

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

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

19 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

19 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

19 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

19 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

19 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