Sarah Hoffmann
cc45930ef9
avoid lookup via partials on frequent words
...
Drops expensive searches via partials on terms like 'rue de'.
See #2979 .
2023-07-06 12:16:57 +02:00
Sarah Hoffmann
3266daa8fd
add a small penalty to lookups in address vectors
2023-07-04 16:54:42 +02:00
Sarah Hoffmann
17a65d82bb
make types compatible with older Python versions
2023-07-02 23:06:42 +02:00
Sarah Hoffmann
49e0d83d5d
fix linting issues
2023-07-01 20:18:59 +02:00
Sarah Hoffmann
673c3c7a55
replace regexp_match with generic op() functions
...
Works around a bug in SQLAlchemy where regexp_match creates an
unstable cache key.
2023-07-01 18:15:22 +02:00
Sarah Hoffmann
5135041405
replace CASE construct with plpgsql function
2023-07-01 18:15:22 +02:00
Sarah Hoffmann
42631b85c7
band-aid for SQLAlchemy 1.4
2023-07-01 18:03:07 +02:00
Sarah Hoffmann
9f6f12cfeb
move search to bind parameters
2023-07-01 18:03:07 +02:00
Sarah Hoffmann
6c4c9ec1f2
switch reverse() to new Geometry datatype
...
Also switches to using bind parameters for recurring parameters.
2023-07-01 18:03:07 +02:00
Sarah Hoffmann
4bb4db0668
introduce slim Geometry database type
2023-07-01 18:03:07 +02:00
Sarah Hoffmann
0d338fa4c0
bdd: fix faking HTTP headers for python web frameworks
2023-06-22 14:00:33 +02:00
Sarah Hoffmann
3a21999a17
move text normalization into extra function
2023-06-22 10:48:05 +02:00
Sarah Hoffmann
0deb9262c9
use in operator for enum tests
...
Fixes a complaint by mypy.
2023-06-21 15:30:40 +02:00
Sarah Hoffmann
9bc5be837b
remove useless check
...
Found by new mypy version.
2023-06-21 11:56:39 +02:00
Sarah Hoffmann
4ad8818809
avoid fallback country lookup when places are excluded
2023-06-20 12:22:08 +02:00
Sarah Hoffmann
2f4342810d
allow empty parts in excluded_place_id
...
This worked before.
2023-06-20 11:56:43 +02:00
Sarah Hoffmann
36df56b093
fix header name for browser languages
2023-06-20 11:56:43 +02:00
Sarah Hoffmann
d0a1e8e311
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.
2023-06-20 11:56:43 +02:00
Sarah Hoffmann
1b50381852
use string representation when dumping variables
2023-06-20 10:15:51 +02:00
Sarah Hoffmann
3443d2c129
fix debug output for searches
...
Fields have been renamed.
2023-06-20 10:12:19 +02:00
Sarah Hoffmann
317cc5c544
make code backwards-compatible with older Python versions
2023-05-26 23:33:35 +02:00
Sarah Hoffmann
43c27dffd2
fix new linting warning
2023-05-26 16:31:43 +02:00
Sarah Hoffmann
8f299838f7
fix various failing BDD tests
2023-05-26 15:08:48 +02:00
Sarah Hoffmann
146a0b29c0
add support for search by houenumber
2023-05-26 14:10:57 +02:00
Sarah Hoffmann
964bc7fbe0
ignore name rankings without variants
2023-05-26 13:53:34 +02:00
Sarah Hoffmann
0843fefad3
fix geocodejson address assignment
...
The categories should be assigned the address part with the
highest address rank not lowest.
2023-05-26 11:43:11 +02:00
Sarah Hoffmann
371a780ef4
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.
2023-05-26 11:40:45 +02:00
Sarah Hoffmann
c7db69a30c
add timestamps to HTML debug output
2023-05-26 09:05:44 +02:00
Sarah Hoffmann
b48cda7173
mingle names from linked places into results
2023-05-24 23:17:15 +02:00
Sarah Hoffmann
0608cf1476
switch CLI search command to python implementation
2023-05-24 22:54:54 +02:00
Sarah Hoffmann
f335e78d1e
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.
2023-05-24 18:12:34 +02:00
Sarah Hoffmann
dcfb228c9a
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.
2023-05-24 18:05:43 +02:00
Sarah Hoffmann
dc99bbb0af
implement actual database searches
2023-05-24 13:52:31 +02:00
Sarah Hoffmann
c42273a4db
implement search builder
2023-05-23 11:23:44 +02:00
Sarah Hoffmann
3bf489cd7c
implement token assignment
2023-05-22 15:49:03 +02:00
Sarah Hoffmann
d8240f9ee4
add query analyser for legacy tokenizer
2023-05-22 11:07:14 +02:00
Sarah Hoffmann
2448cf2a14
add factory for query analyzer
2023-05-22 09:23:19 +02:00
Sarah Hoffmann
004883bdb1
query analyzer for ICU tokenizer
2023-05-22 08:46:19 +02:00
Sarah Hoffmann
ff66595f7a
add data structure for tokenized query
2023-05-21 09:30:57 +02:00
Sarah Hoffmann
d2c56f9f96
Merge pull request #3063 from lonvia/variable-parameters
...
Rework how search parameters are handed to the Python API
2023-05-18 22:27:18 +02:00
Sarah Hoffmann
7f1a0ce94a
fix use of subquery in reverse
2023-05-18 20:27:07 +02:00
Sarah Hoffmann
32dbf83747
move zoom_to_rank computation to extra file
2023-05-18 18:29:41 +02:00
Sarah Hoffmann
bef5cea48e
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.
2023-05-18 17:42:23 +02:00
Sarah Hoffmann
1f0e1bec0e
enable API use with psycopg 3
2023-05-18 16:08:32 +02:00
Sarah Hoffmann
1dce2b98b4
switch CLI lookup command to Python implementation
2023-04-03 14:40:41 +02:00
Sarah Hoffmann
86c4897c9b
add lookup call to server glue
2023-04-03 14:40:41 +02:00
Sarah Hoffmann
6e81596609
rename lookup() API to details and add lookup call
...
The initial plan to serve /details and /lookup endpoints from
the same API call turned out to be impractical, so the API now
also has deparate functions for both.
2023-04-03 14:40:41 +02:00
Sarah Hoffmann
4607c7ed04
python lookup: add function for simple lookups
2023-04-03 14:40:41 +02:00
Sarah Hoffmann
63638eb447
python lookup: factor out finding in tables into own function
2023-04-03 14:40:41 +02:00
Sarah Hoffmann
1e2a1d9ce5
limit results for country lookup
2023-03-30 10:00:19 +02:00