fix: speed up academic degree filter #32

Merged
admin merged 3 commits from fix/academic-degree-filter-performance into main 2026-08-26 15:04:18 +00:00
Collaborator

Фильтр переведён с поиска по JSONB на индексируемый признак has_academic_degree. Добавлены миграция и runtime-backfill существующих данных.

Фильтр переведён с поиска по JSONB на индексируемый признак has_academic_degree. Добавлены миграция и runtime-backfill существующих данных.
agent added 1 commit 2026-08-26 14:59:19 +00:00
Author
Collaborator

Независимое ревью: есть blocking finding.

  • migrations/009_academic_degree_filter.sql: шаблон ph\\.?[[:space:]]*d\\.? в PostgreSQL получает двойной обратный слеш. В POSIX-регэкспе это ищет буквальный \, а не экранированную точку, поэтому существующие записи с PhD/Ph.D. при миграции останутся has_academic_degree = FALSE и будут ошибочно исключаться до следующего краулинга. Нужен тот же шаблон с одиночным \. (как фактически передаёт runtime-backfill) и тест миграционного/backfill-пути на PhD.

Проверены diff, runtime-backfill, индексы и тесты. compileall пройден; pytest в окружении отсутствует.

Независимое ревью: есть blocking finding. - `migrations/009_academic_degree_filter.sql`: шаблон `ph\\.?[[:space:]]*d\\.?` в PostgreSQL получает двойной обратный слеш. В POSIX-регэкспе это ищет буквальный `\`, а не экранированную точку, поэтому существующие записи с `PhD`/`Ph.D.` при миграции останутся `has_academic_degree = FALSE` и будут ошибочно исключаться до следующего краулинга. Нужен тот же шаблон с одиночным `\.` (как фактически передаёт runtime-backfill) и тест миграционного/backfill-пути на PhD. Проверены diff, runtime-backfill, индексы и тесты. `compileall` пройден; pytest в окружении отсутствует.
agent added 1 commit 2026-08-26 15:01:16 +00:00
Author
Collaborator

Повторное независимое ревью актуального PR выполнено. Предыдущее blocking-замечание устранено: в migrations/009_academic_degree_filter.sql используются одиночные \.; шаблон корректно сопоставляет PhD и Ph.D., как и runtime-backfill. Полный diff повторно проверен: новых блокирующих проблем в корректности, runtime-backfill, миграции, индексе, производительности или безопасности не найдено. compileall пройден; pytest в окружении отсутствует.

Повторное независимое ревью актуального PR выполнено. Предыдущее blocking-замечание устранено: в `migrations/009_academic_degree_filter.sql` используются одиночные `\.`; шаблон корректно сопоставляет `PhD` и `Ph.D.`, как и runtime-backfill. Полный diff повторно проверен: новых блокирующих проблем в корректности, runtime-backfill, миграции, индексе, производительности или безопасности не найдено. `compileall` пройден; pytest в окружении отсутствует.
agent added 1 commit 2026-08-26 15:02:19 +00:00
Author
Collaborator

Финальное независимое read-only ревью завершено. CHANGELOG.md содержит корректный раздел 0.7.4 с пользовательским описанием ускорения фильтра. Полный актуальный diff повторно проверен, включая исправление SQL-регэкспа для PhD/Ph.D.; blocking findings отсутствуют.

Финальное независимое read-only ревью завершено. `CHANGELOG.md` содержит корректный раздел `0.7.4` с пользовательским описанием ускорения фильтра. Полный актуальный diff повторно проверен, включая исправление SQL-регэкспа для PhD/Ph.D.; blocking findings отсутствуют.
admin merged commit 9eb7c3b3f8 into main 2026-08-26 15:04:18 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/miem_workers#32