tradein/dedup: ослабить geo-guard в fias-pass — 130 same-fias групп не смержены (NULL geom / >250 м) #2187

Closed
opened 2026-07-02 18:09:21 +00:00 by lekss361 · 1 comment
Owner

После боевого прогона fias-дедупа (2026-07-02, PR #2185: 1 274 кластера, 1 369 losers, houses 11 778 → 10 409) осталось 130 групп с одинаковым lower(house_fias_id), которые не смержились из-за geo-guard 250 м, применяемого и к fias-pass.

ФИАС-идентичность строго сильнее гео-близости: одинаковый UUID = одно здание ГАР по определению. Кейсы: (а) NULL geom с одной из сторон; (б) расстояние >250 м = у одной из строк битые координаты — merge с keeper-правилом «geom first» ещё и чинит координаты.

Предложение (из ревью #2185, minor #1): в fias-pass либо снять geo-guard полностью, либо поднять порог + разрешить NULL-geom пары. Canon-pass не трогать (там guard обязателен).

Проверка после фикса: SELECT lower(house_fias_id), count(*) FROM houses WHERE house_fias_id IS NOT NULL GROUP BY 1 HAVING count(*)>1; → 0 строк.

Контекст: DaData suggest-backfill 2026-07-02 (fias у 5 122 домов), vault events/Event_Dadata_Suggest_Backfill_0702.

После боевого прогона fias-дедупа (2026-07-02, PR #2185: 1 274 кластера, 1 369 losers, houses 11 778 → 10 409) осталось **130 групп с одинаковым `lower(house_fias_id)`**, которые не смержились из-за geo-guard 250 м, применяемого и к fias-pass. ФИАС-идентичность строго сильнее гео-близости: одинаковый UUID = одно здание ГАР по определению. Кейсы: (а) NULL geom с одной из сторон; (б) расстояние >250 м = у одной из строк битые координаты — merge с keeper-правилом «geom first» ещё и чинит координаты. Предложение (из ревью #2185, minor #1): в fias-pass либо снять geo-guard полностью, либо поднять порог + разрешить NULL-geom пары. Canon-pass не трогать (там guard обязателен). Проверка после фикса: `SELECT lower(house_fias_id), count(*) FROM houses WHERE house_fias_id IS NOT NULL GROUP BY 1 HAVING count(*)>1;` → 0 строк. Контекст: DaData suggest-backfill 2026-07-02 (fias у 5 122 домов), vault `events/Event_Dadata_Suggest_Backfill_0702`.
Author
Owner

Закрыто PR #2195 + боевой прогон 2026-07-02 ~22:00 МСК (вручную в tradein-backend): clusters_merged=130, losers_deleted=205, listings_repointed=723. Проверка-критерий: SELECT lower(house_fias_id), count(*) ... HAVING count(*)>10 строк. Orphans 0. Итог houses: 6 822 строк, gar-matched 5 552 (81.4%), sale-share view 5 170.

Закрыто PR #2195 + боевой прогон 2026-07-02 ~22:00 МСК (вручную в tradein-backend): clusters_merged=130, losers_deleted=205, listings_repointed=723. Проверка-критерий: `SELECT lower(house_fias_id), count(*) ... HAVING count(*)>1` → **0 строк**. Orphans 0. Итог houses: 6 822 строк, gar-matched 5 552 (81.4%), sale-share view 5 170.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2187
No description provided.