|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 11s
CI / changes (pull_request) Successful in 11s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m53s
CI / backend-tests (pull_request) Successful in 14m49s
_AVG_PRICE_SQL фильтровал domrf_kn_flats по одной глобальной MAX(snapshot_date), но таблица — per-object time series (UNIQUE(obj_id, snapshot_date)). На глобальной дате обычно присутствует лишь 1 объект → у всех остальных конкурентов 0 строк → avg_price_per_m2=NULL → _price_similarity падает на нейтральные 0.5, молча деградируя relevance-ранжирование. Портируем flats_latest DISTINCT ON (obj_id) ... ORDER BY snapshot_date DESC, id DESC CTE из best_layouts.py (#1956) — каждый конкурент берёт СВОЙ последний снапшот. Индекс 174_domrf_kn_flats_obj_snapshot_idx уже обслуживает CTE (новая миграция не нужна). Objective-fallback композиция не тронута: missing_price_ids считается после domrf-запроса → естественно сжимается. Refs #2445 |
||
|---|---|---|
| .. | ||
| analysis_runs | ||
| analytics | ||
| cadastre | ||
| chat | ||
| etl | ||
| exporters | ||
| forecasting | ||
| generative | ||
| llm | ||
| photos | ||
| scrapers | ||
| site_finder | ||
| __init__.py | ||
| analytics_queries.py | ||
| analytics_refresh.py | ||
| dadata_client.py | ||
| forecast_request_cache.py | ||
| insights.py | ||
| job_settings.py | ||
| objective_etl.py | ||
| objective_sync_config.py | ||
| own_projects.py | ||
| weather_cache.py | ||