]>
git.openstreetmap.org Git - nominatim.git/log
Sarah Hoffmann [Wed, 12 Jul 2023 12:04:30 +0000 (14:04 +0200)]
avoid forwarding variables via SQL
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.
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
alfmarcua [Thu, 6 Jul 2023 06:52:12 +0000 (08:52 +0200)]
Split lookupInCountry in two functions and document NOMINATIM_SEARCH_WITHIN_COUNTRIES parameter
alfmarcua [Thu, 6 Jul 2023 06:52:41 +0000 (08:52 +0200)]
Parameterise the search only within countries
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
Sarah Hoffmann [Sat, 8 Jul 2023 19:47:07 +0000 (21:47 +0200)]
avoid index-use on rank parameters for reverse lookups
Sarah Hoffmann [Sat, 8 Jul 2023 17:38:54 +0000 (19:38 +0200)]
force a fixed pool size and make it configurable
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.
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.
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
Sarah Hoffmann [Thu, 6 Jul 2023 12:15:51 +0000 (14:15 +0200)]
increase minimum required SQLAlchemy version to 1.4.31
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.
Sarah Hoffmann [Thu, 6 Jul 2023 07:29:20 +0000 (09:29 +0200)]
add support for postcompile literals in debug output
Sarah Hoffmann [Tue, 4 Jul 2023 14:08:18 +0000 (16:08 +0200)]
fix SRID handling in Geometry type
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.
Sarah Hoffmann [Tue, 4 Jul 2023 14:54:42 +0000 (16:54 +0200)]
add a small penalty to lookups in address vectors
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
Sarah Hoffmann [Sun, 2 Jul 2023 21:05:15 +0000 (23:05 +0200)]
make types compatible with older Python versions
Sarah Hoffmann [Sat, 1 Jul 2023 16:16:23 +0000 (18:16 +0200)]
remove GeoAlchemy as dependency
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.
Sarah Hoffmann [Sat, 1 Jul 2023 16:02:46 +0000 (18:02 +0200)]
fix linting issues
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.
Sarah Hoffmann [Wed, 28 Jun 2023 12:27:35 +0000 (14:27 +0200)]
replace CASE construct with plpgsql function
Sarah Hoffmann [Mon, 26 Jun 2023 19:37:17 +0000 (21:37 +0200)]
band-aid for SQLAlchemy 1.4
Sarah Hoffmann [Mon, 26 Jun 2023 13:56:10 +0000 (15:56 +0200)]
move search to bind parameters
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.
Sarah Hoffmann [Sun, 25 Jun 2023 07:38:44 +0000 (09:38 +0200)]
introduce slim Geometry database type
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
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.
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
Sarah Hoffmann [Fri, 30 Jun 2023 13:28:00 +0000 (15:28 +0200)]
also switch legacy tokenizer to new street/place choice behaviour
Sarah Hoffmann [Thu, 29 Jun 2023 20:02:55 +0000 (22:02 +0200)]
fix optional string representation or repr(PlaceName)
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.
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
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
Sarah Hoffmann [Thu, 22 Jun 2023 15:29:44 +0000 (17:29 +0200)]
add python frontend tests to CI
Sarah Hoffmann [Thu, 22 Jun 2023 14:51:59 +0000 (16:51 +0200)]
slightly adapt postcode tests
Sarah Hoffmann [Wed, 21 Jun 2023 09:33:42 +0000 (11:33 +0200)]
bdd: fix faking HTTP headers for python web frameworks
mtmail [Thu, 22 Jun 2023 10:14:55 +0000 (12:14 +0200)]
Merge branch 'osm-search:master' into check-database-on-frozen-database
Sarah Hoffmann [Thu, 22 Jun 2023 08:48:05 +0000 (10:48 +0200)]
move text normalization into extra function
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
Marc Tobias [Mon, 19 Jun 2023 16:43:17 +0000 (18:43 +0200)]
check-database on frozen db shouldnt recommend indexing
Sarah Hoffmann [Wed, 21 Jun 2023 13:30:40 +0000 (15:30 +0200)]
use in operator for enum tests
Fixes a complaint by mypy.
Sarah Hoffmann [Wed, 21 Jun 2023 09:56:39 +0000 (11:56 +0200)]
remove useless check
Found by new mypy version.
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
Sarah Hoffmann [Wed, 21 Jun 2023 08:06:25 +0000 (10:06 +0200)]
update project information for taginfo.json
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
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
Sarah Hoffmann [Tue, 20 Jun 2023 10:22:08 +0000 (12:22 +0200)]
avoid fallback country lookup when places are excluded
Sarah Hoffmann [Tue, 20 Jun 2023 09:33:35 +0000 (11:33 +0200)]
allow empty parts in excluded_place_id
This worked before.
Sarah Hoffmann [Tue, 20 Jun 2023 09:09:44 +0000 (11:09 +0200)]
fix header name for browser languages
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.
Sarah Hoffmann [Tue, 20 Jun 2023 08:15:51 +0000 (10:15 +0200)]
use string representation when dumping variables
Sarah Hoffmann [Tue, 20 Jun 2023 08:12:19 +0000 (10:12 +0200)]
fix debug output for searches
Fields have been renamed.
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
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
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
Sarah Hoffmann [Mon, 19 Jun 2023 10:07:09 +0000 (12:07 +0200)]
no longer recommend continuous update mode
Sarah Hoffmann [Mon, 19 Jun 2023 10:02:51 +0000 (12:02 +0200)]
close DB connection when waiting for next update cycle
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.
Sarah Hoffmann [Sun, 18 Jun 2023 07:27:55 +0000 (09:27 +0200)]
Add custom config to information required for bug reports
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.
Sarah Hoffmann [Tue, 13 Jun 2023 12:12:56 +0000 (14:12 +0200)]
add instructions for switching to user for install scripts
Fixes #3057.
Sarah Hoffmann [Tue, 13 Jun 2023 12:05:54 +0000 (14:05 +0200)]
remove Ubuntu 18 installation from TOC
Fixes #3072.
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
marc tobias [Mon, 29 May 2023 22:22:18 +0000 (00:22 +0200)]
Vagrantfile - remove Ubuntu 18
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
Sarah Hoffmann [Fri, 26 May 2023 16:09:03 +0000 (18:09 +0200)]
make code backwards-compatible with older Python versions
Sarah Hoffmann [Fri, 26 May 2023 15:36:05 +0000 (17:36 +0200)]
remove tests for old PHP cli commands
Sarah Hoffmann [Fri, 26 May 2023 14:31:43 +0000 (16:31 +0200)]
fix new linting warning
Sarah Hoffmann [Fri, 26 May 2023 13:08:48 +0000 (15:08 +0200)]
fix various failing BDD tests
Sarah Hoffmann [Fri, 26 May 2023 12:10:57 +0000 (14:10 +0200)]
add support for search by houenumber
Sarah Hoffmann [Fri, 26 May 2023 09:52:27 +0000 (11:52 +0200)]
ignore name rankings without variants
Sarah Hoffmann [Fri, 26 May 2023 09:44:25 +0000 (11:44 +0200)]
properly close connections when shutting down starlette
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.
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.
Sarah Hoffmann [Fri, 26 May 2023 07:05:44 +0000 (09:05 +0200)]
add timestamps to HTML debug output
Sarah Hoffmann [Wed, 24 May 2023 21:17:15 +0000 (23:17 +0200)]
mingle names from linked places into results
Sarah Hoffmann [Wed, 24 May 2023 20:54:54 +0000 (22:54 +0200)]
switch CLI search command to python implementation
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.
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.
Sarah Hoffmann [Wed, 24 May 2023 11:52:31 +0000 (13:52 +0200)]
implement actual database searches
Sarah Hoffmann [Tue, 23 May 2023 09:20:34 +0000 (11:20 +0200)]
implement search builder
Sarah Hoffmann [Mon, 22 May 2023 13:49:03 +0000 (15:49 +0200)]
implement token assignment
Sarah Hoffmann [Mon, 22 May 2023 09:07:14 +0000 (11:07 +0200)]
add query analyser for legacy tokenizer
Sarah Hoffmann [Mon, 22 May 2023 07:23:19 +0000 (09:23 +0200)]
add factory for query analyzer
Sarah Hoffmann [Mon, 22 May 2023 06:46:19 +0000 (08:46 +0200)]
query analyzer for ICU tokenizer
biswajit-k [Sun, 21 May 2023 18:19:04 +0000 (23:49 +0530)]
add ci-test for taginfo file generation
Sarah Hoffmann [Sat, 20 May 2023 21:46:15 +0000 (23:46 +0200)]
add data structure for tokenized query
biswajit-k [Fri, 19 May 2023 17:52:42 +0000 (23:22 +0530)]
docs: add installation instruction for dkjson package
biswajit-k [Wed, 26 Apr 2023 18:14:20 +0000 (23:44 +0530)]
Add script to generate taginfo project description
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
Sarah Hoffmann [Thu, 18 May 2023 20:37:46 +0000 (22:37 +0200)]
enable debug output on command line
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
Sarah Hoffmann [Thu, 18 May 2023 18:27:07 +0000 (20:27 +0200)]
fix use of subquery in reverse
Sarah Hoffmann [Thu, 18 May 2023 16:29:41 +0000 (18:29 +0200)]
move zoom_to_rank computation to extra file
Sarah Hoffmann [Thu, 18 May 2023 16:09:07 +0000 (18:09 +0200)]
add tests for parameter converter
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
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.