Skip to content

fix: resolve AU streets written before their number to the right street - #223

Merged
Mokto merged 2 commits into
mainfrom
fix/au-street-before-number
Oct 20, 2026
Merged

Mokto merged 2 commits into
mainfrom
fix/au-street-before-number

Conversation

@Mokto

@Mokto Mokto commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

Australian queries that write the street before its number ("Panorama Place 3, Maleny", "Railway Terrace 9, Mount Pleasant") now resolve to that street's house instead of a house on a street that merely resembles the town name. On the local full index the AU panel goes from 58 to 60/100 searches and stays at 60/100 suggestions. Refs #222 (not closing it: 40 AU queries still fail, triaged in the new doc).

Changes

  • The village rule only accepts a street named exactly as the town, or an unspaced name such as 帯屋町二丁目. Before, "Maleny" matched house 3 on Maleny Vista.
  • A venue that ends in a street type gives up its trailing number, so the venue rule then finds the street ("Railway Terrace 9").
  • Synthetic world gets Panorama Place, Railway Terrace and Wattleford Vista, with cases for both orderings and a venue ("Grand Hotel 3") that must not get a house.
  • Adds docs/evaluation/triage/global-au.md: the remaining AU failures, mostly G-NAF points that differ from the OSM node.

Running the venue rule before the village rule was tried and left out. It also fixed NO "Sinneslisundet 28, Tjørhom", GB "Market Place 2, Wymondham" and some PL, ZA and ES Ceuta cases. But in CI it turned the JP case "帯屋町 2丁目1−27" from abstain to wrong_component, because the panel expects the chōme inside the house number and the index keeps it in the street. The village rule stays first; the reorder belongs with the Japan triage.

Review focus

The village-name guard (fold(name) == fold(town) || !name.contains(' ')) and the street-type check on the venue tail in src/index/mod.rs.

Local full-index gold diff, main vs head on the same index and models: SearchAddress has 5 newly passing (AU Railway Terrace 9, Panorama Place 3; ES Urbanizacion Pedraza Beach 5 x2, Barrio Colmenar 23), 1 better class (ES 993663692-0, wrong house in Grávalos to locality Muro de Aguas), 0 newly failing, 0 worse. Suggest, Reverse and ResolveRegion are unchanged. On the first CI run gold-speed passed and quality failed only on the JP case, which the second commit addresses. cargo fmt, clippy -D warnings and cargo test (including synthetic and synthetic --ignored) pass locally. CI gold needs a re-run on the new head.

@codspeed

codspeed Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 5 untouched benchmarks
⏩ 5 skipped benchmarks1


Comparing fix/au-street-before-number (b60df72) with main (7a02601)

Open in CodSpeed

Footnotes

  1. 5 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@github-actions

Copy link
Copy Markdown

Speed, full index: no slowdown over 10%

Details

SearchAddress

Time in ms over 1995 cases, each the fastest of 3 requests.

Total p50 p90 p99 Max
base 6512.0 2.3 6.1 16.1 23.0
head 6352.0 2.3 6.0 15.2 22.2
change -2% -3% -3% -6% -4%

SuggestAddress

Time in ms over 1996 checks, each the fastest of 3 requests.

Total p50 p90 p99 Max
base 2767.5 1.1 2.2 4.5 12.3
head 2670.4 1.1 2.1 4.3 13.2
change -4% -2% -3% -4% +7%

ReverseGeocode

Time in ms over 1994 cases, each the fastest of 3 requests.

Total p50 p90 p99 Max
base 1936.4 0.8 1.3 4.3 7.4
head 1912.5 0.8 1.2 4.0 6.4
change -1% -1% -1% -6% -13%

Fails when the total, p50, p90 or p99 of any table is more than 10% slower. Runs of one binary differ by up to 5%; the max is one request and only reported.

Base 7a02601 → b60df72, one after the other in one pod on the same node and index.

@github-actions

Copy link
Copy Markdown

Gold check, full index: no regressions

RPC Checked Pass base Pass head Change Results changed
SearchAddress 21203 16861 16866 +5 (+0.0%) 6
SuggestAddress 21287 15042 15042 0 0
ResolveRegion 3341 3322 3322 0 0
ReverseGeocode 20913 20787 20787 0 0

Pass rate by country

Passing checks out of those checked, baseline → candidate, for the 2 expected countries where any RPC changed. A case that expects several countries has its own row. Counts are checks, not independent locations.

Country SearchAddress % SuggestAddress % ReverseGeocode % ResolveRegion %
Spain 1192 → 1195 / 1909 (+3) 62.4% → 62.6% 812 / 1777 45.7% 1904 / 1906 99.9% 36 / 36 100.0%
Australia 614 → 616 / 661 (+2) 92.9% → 93.2% 636 / 691 92.0% 649 / 656 98.9% 39 / 39 100.0%
Runs
  • baseline: base, backend overture-index data index 9f26cb6d546a, consumer binary 1d721fca24d8 models 2de098b5667f
  • candidate: head, backend overture-index data index 9f26cb6d546a, consumer binary 70ea03308a60 models 2de098b5667f

SearchAddress: changes by cohort

Cohort Cases Changed finer coarser moved nudged good_match components
address 923 1 0 0 1 0 0 1
degraded 929 1 0 0 1 0 0 1
es_other_road 248 1 0 0 0 1 0 1
global_osm_au 100 2 1 0 1 1 0 2
global_osm_es 100 1 0 1 1 0 1 1

Only cohorts with a change and kinds that occur are shown. gained/lost: a result appeared/disappeared; finer/coarser: resolution level; moved: >1 km; nudged: <1 km but visible at 3 decimals.

Newly passing (verify before relabelling) (5)
  • global-osm-au-6993966262-1 near_miss -> pass: "Railway Terrace 9, Mount Pleasant, SA, 5235, Australia" -> "house 9 Railway Terrace, 5235, Mount Pleasant [au] -34.779,139.036"
  • address-urbanizacion-pedraza-beach-5-29692-manilva-spain near_miss -> pass: "Urbanizacion Pedraza Beach 5, 29692 Manilva, Spain" -> "house 5 URBANIZACION PEDRAZA BEACH, 29692, Manilva [es] 36.342,-5.236"
  • degraded-urbanizacion-pedraza-beach-5-29692-manilva near_miss -> pass: "Urbanizacion Pedraza Beach 5, 29692 Manilva" -> "house 5 URBANIZACION PEDRAZA BEACH, 29692, Manilva [es] 36.342,-5.236"
  • es_other_road-barrio-colmenar-23-plasencia-c-ceres-spain near_miss -> pass: "BARRIO COLMENAR 23, Plasencia, Cáceres, Spain" -> "house 23 BARRIO COLMENAR, 10600, Plasencia [es] 40.033,-6.092"
  • global-osm-au-12791497803-1 near_miss -> pass: "Panorama Place 3, Maleny, QLD, 4552, Australia" -> "house 3 Panorama Place, 4552, Maleny [au] -26.776,152.892"
Better failure class (1)
  • global-osm-es-993663692-0 near_miss -> too_coarse: "1 Plaza La Fuente, Muro de Aguas, 26587, Spain" -> "locality 26587, Muro de Aguas [es] 42.133,-2.112"
SearchAddress: changed cases (6)

finer (1)

  • global-osm-au-6993966262-1 [global_osm_au] finer, moved, components: "Railway Terrace 9, Mount Pleasant, SA, 5235, Australia": "postcode 5235, Springton [au] -34.717,139.069" -> "house 9 Railway Terrace, 5235, Mount Pleasant [au] -34.779,139.036"

coarser (1)

  • global-osm-es-993663692-0 [global_osm_es] coarser, moved, good_match, components: "1 Plaza La Fuente, Muro de Aguas, 26587, Spain": "house 1 Plaza José María Fraile, 26587, Grávalos [es] 42.107,-2.001" -> "locality 26587, Muro de Aguas [es] 42.133,-2.112"

moved (2)

  • address-urbanizacion-pedraza-beach-5-29692-manilva-spain [address] moved, components: "Urbanizacion Pedraza Beach 5, 29692 Manilva, Spain": "house 5 URBANIZACION MAGNA DE MANILVA I, 29692, Manilva [es] 36.324,-5.252" -> "house 5 URBANIZACION PEDRAZA BEACH, 29692, Manilva [es] 36.342,-5.236"
  • degraded-urbanizacion-pedraza-beach-5-29692-manilva [degraded] moved, components: "Urbanizacion Pedraza Beach 5, 29692 Manilva": "house 5 URBANIZACION MAGNA DE MANILVA I, 29692, Manilva [es] 36.324,-5.252" -> "house 5 URBANIZACION PEDRAZA BEACH, 29692, Manilva [es] 36.342,-5.236"

nudged (2)

  • es_other_road-barrio-colmenar-23-plasencia-c-ceres-spain [es_other_road] nudged, components: "BARRIO COLMENAR 23, Plasencia, Cáceres, Spain": "house 23 Calle Malpartida de Plasencia, 10600, Plasencia [es] 40.026,-6.099" -> "house 23 BARRIO COLMENAR, 10600, Plasencia [es] 40.033,-6.092"
  • global-osm-au-12791497803-1 [global_osm_au] nudged, components: "Panorama Place 3, Maleny, QLD, 4552, Australia": "house 3 Maleny Vista, 4552, Maleny [au] -26.776,152.886" -> "house 3 Panorama Place, 4552, Maleny [au] -26.776,152.892"

Landmark checks (head)

Check Cohort pass ranked_low missing unexpected error
full suggest_landmark 53 0 18 0 0
off suggest_landmark 71 0 0 0 0
Check Cohort pass empty wrong_place wrong_region wrong_country
--- --- ---: ---: ---: ---: ---:

@Mokto
Mokto merged commit 00818d1 into main Oct 20, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant