1. 09 Jul, 2026 3 commits
    • 沈秋雨 authored
    • - run_etl.py中新增resume相关参数支持断点续传和手动起始位置
      - reader.py中修改iter_hk_songs_batches函数,改用id游标替代offset分页
      - runner.py新增断点状态文件管理功能,支持状态读写与断点继续
      - run函数接受断点续传参数并根据状态文件恢复进度
      - 处理每批次导入成功后保存断点状态,确保可中断恢复
      - 新增单元测试覆盖断点续传逻辑,验证正确使用start_after_id参数
      - 调整接口参数传递与兼容性,保持向后兼容性和灵活性
      沈秋雨 authored
    • - 调整批处理大小为3以适应新需求
      - 扩展fetch_platform_records查询字段,增加录音优先级排序机制
      - 新增select_primary_record方法以选出最优录音记录
      - 修改runner确保每首歌只写入一个主要引擎录音关联
      - 新增upsert_yinyan_song_records接口,实现引擎歌曲记录的批量写入和替换
      - 添加对应单元测试覆盖录音选择逻辑和写入功能
      沈秋雨 authored
  2. 08 Jul, 2026 13 commits
  3. 07 Jul, 2026 1 commit
    • - 新增 audit_hk_songs_duplicates.py,支持基于name、lyricist和composer字段检测重复数据
      - 支持生成重复组和重复详情的SQL查询语句
      - 实现重复数据的合并计划生成及软删除重复记录功能
      - 支持修复暂存表中merge跳过的记录,实现existing_into_new和new_into_existing的合并处理
      - 增加命令行参数,支持输出CSV、应用合并和修复合并方向处理
      
      feat(backfill): 增量补全bpm_class字段脚本
      
      - 新增 backfill_bpm_class.py,从源库获取录音BPM并映射为bpm_class分类
      - 支持指定目标表和每批处理条数,支持dry-run模式仅打印计划
      - 采用主版本优先策略查询录音BPM数据,跳过无效或异常BPM
      
      fix(import): 优化歌词处理和缓存逻辑
      
      - 判断歌词文本是否实质为空,避免无效歌词上传OSS
      - 修正合并逻辑中merge_direction对staging状态和导入ID的设置
      - 扩展原声正则匹配规则,增加用户创作原声匹配
      - 新增构建歌词缓存项和追加写入缓存函数,减少重复下载
      - 调整load_existing_l2_candidates增加seen_keys参数避免重复缓存加载
      沈秋雨 authored
  4. 06 Jul, 2026 4 commits
    • - 修改 sync_inserted_lyrics_cache 函数,新增 seen_keys 参数用于跳过已存在歌词缓存
      - 实现追加写入方式,同步新增歌词缓存时不再全量读取,提升性能
      - 在主逻辑中初始化并传递 lyrics_cache_seen_keys,避免重复写入缓存
      - 更新测试用例,增加追加写入场景覆盖,防止误读缓存文件读取操作
      - 修正缓存文件路径统一使用 lyrics_cache_path,增强代码一致性
      沈秋雨 authored
    • - 抽取歌词缓存读取和写入为独立函数 _read_existing_lyrics_cache 与 _write_existing_lyrics_cache
      - load_existing_l2_candidates 中改用新缓存读写函数,增加缓存加载日志和进度输出
      - 处理下载异常时保证已下载缓存的歌词及时持久化,避免丢失数据
      - 新增 sync_inserted_lyrics_cache 函数实现新增歌词缓存同步写入功能
      - 后台写入线程写入数据库后调用歌词缓存同步,记录新增条数日志
      - 修改批量写入队列数据结构,传递缓存同步相关数据
      - 优化去重统计日志显示格式,新增 format_dedup_stats 函数统一格式化
      - L2审核界面新增 skip 筛选选项,调整相关前端和后端代码支持该状态
      - 移除 L2 审核界面中保存按钮,避免误操作手动保存
      - 补充单元测试覆盖缓存同步、缓存读取异常处理和去重统计日志格式输出
      沈秋雨 authored
    • - 新增 L2 候选加载缓存机制,避免重复下载歌词内容
      - L2 去重返回 top-K 召回候选信息,丰富判定依据
      - 分类函数新增跳过导入的规则,如空歌词且作者不详、原声类歌曲名等
      - 实现作者字段(作词、作曲)增量合并功能,避免重复覆盖
      - 对合并冲突添加异常处理并记录日志,确保稳定执行
      - 引入后台线程异步写入数据库,提升批量处理性能
      - 优化 L1 索引更新,避免去重误差,提高去重准确率
      - 扩展统计字段,新增作者合并和跳过导入计数
      - 前端增加决策过滤选项,支持根据决策筛选展示记录
      - 修改界面显示逻辑,支持删除已审核样本,完善用户操作
      - 调整页面显示候选数目为 Top5,优化视觉体验
      - 参数新增 L2 精确哈希自动合并的最小歌词长度配置
      - 添加数据库表结构自动迁移,新增 recalled_candidates 字段支持新功能
      - 增强程序中断时数据库写入的安全关闭与日志提示
      沈秋雨 authored
    • - 统一导入标记歌曲状态为已下架,防止错误上架
      - 升级目标库 L1 索引加载,支持合并方向决策映射
      - 从源库加载歌曲关联录音数量,用于合并优先级判断
      - L2 去重判定增强歌词质量判断,缺失歌词强制人工复核
      - 新增基于录音数量决定新老记录合并方向的逻辑
      - 改进批量导入流程,L1/L2 去重优先,避免费时 OSS 上传
      - 支持跳过部分媒体资源 OSS 上传,歌词仍可上传 OSS
      - 人工审核数据写入流程优化,增加录音数量和合并方向字段
      - 审核界面支持本地缓存合并、撤销审核、审核决策同步后端
      - 调整界面标签和交互元素样式,提高用户体验与信息展示清晰度
      - 音眼词曲去重任务清单文档新增,规范数据处理阶段与里程碑计划
      沈秋雨 authored
  5. 04 Jul, 2026 4 commits