CRITICAL: - invalidate_search_cache 清理 atm:* 缓存(MeSH ATM扩展不再用过期结果) - Pro 方案 api_quota_per_day 1000→10000(修复低于 Free 的数据错误) - CacheService/RateLimitMiddleware Redis 连接失败60秒自动重试(原永久降级) - 普通搜索中文输入自动匹配 GlobalTag.name_zh(如"肺癌"通过MeSH标签关联文献) - AdvancedPubSearchView resolveQuery 添加 seen Set 检测交替 #N 循环引用 HIGH: - 限速器 _burst_windows 每500请求清理过期条目(防止内存泄漏) - cron daily_ftp_update 末尾调用 invalidate_search_cache()(自动管道不再用过期缓存) MEDIUM: - _apply_order_by ASC 排序加 id tiebreaker(title/journal/first_author翻页跳行/重复) - _keyset_condition 所有 is_(None) 加 id tiebreaker + __NULL__ 哨兵值 - _field_condition("all") 默认tsvector路径加 journal/journal_iso ILIKE 兜底 - SearchView restoreFromQuery date_preset/year_from/year_to 优先顺序修复 docs: 更新 12/13 搜索文档,移除 CLAUDE.md 陈旧 SQLite 提及
OncoLit: a multi-tenant oncology literature search, feed, and collaboration platform. Built with FastAPI + Vue 3 + PostgreSQL. Includes PubMed pipeline, drug approvals, AI summaries, and systematic review tools.