gendesign/tradein-mvp/backend/app
lekss361 925d7d15cc feat(tradein): search matview + indexes (Phase 3.1)
Multi-Source Integration Phase 3.1. Foundation for /api/v1/search p95 < 100ms
on 100K+ listings.

SQL 050_search_optimization.sql:
  - CREATE EXTENSION IF NOT EXISTS pg_trgm
  - ALTER listings ADD COLUMN tsv tsvector GENERATED ALWAYS AS (...) STORED
  - 10 indexes (geom GIST, composite, gin_trgm, GIN tsv, partial kadastr, ...)
  - CREATE MATERIALIZED VIEW listings_search_mv (per-listing aggregated across sources)
  - 5 matview indexes

Celery task tradein.refresh_search_matview:
  - REFRESH MATERIALIZED VIEW CONCURRENTLY listings_search_mv
  - Logged duration via logger.info
  - Beat schedule snippet (crontab hour=3, minute=0) in docstring — wiring to
    app/celery_app.py left to follow-up PR per main-session coordination.

Refs Master Plan sec 5.1 + 6.5 + 10.1.
2026-05-23 16:46:37 +03:00
..
api feat(tradein): Stage 4a — API endpoints for Avito enrichment + IMV benchmark UI (#460) 2026-05-23 13:34:38 +00:00
core feat(tradein): cian_session cookies management + admin endpoints (Wave 4 Worker A) (#457) 2026-05-23 13:22:00 +00:00
schemas feat(tradein): Stage 4a — API endpoints for Avito enrichment + IMV benchmark UI (#460) 2026-05-23 13:34:38 +00:00
services feat(tradein): cian_valuation.py — auth-required Calculator scraper + 24h cache (#465) 2026-05-23 13:43:34 +00:00
tasks feat(tradein): search matview + indexes (Phase 3.1) 2026-05-23 16:46:37 +03:00
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
main.py feat(tradein): мониторинг ошибок через GlitchTip (#396) 2026-05-22 11:18:26 +05:00