CHANGES_SUMMARY.md
3.47 KB
更新总结 - 2025-10-22
1. 修改 tag_category_similar.py 脚本
主要变更
SQL查询修改:从只查询分类名称改为同时查询分类ID和名称
- 修改前:
GROUP_CONCAT(pc_1.name) AS '商品信息' - 修改后:
GROUP_CONCAT(DISTINCT CONCAT(pc_1.id, ':', pc_1.name)) AS '商品信息'
- 修改前:
数据处理修改:解析ID和名称对,建立ID到名称的映射
cat_id_to_name = {} for cat_pair in categories: if ':' in cat_pair: cat_id, cat_name = cat_pair.split(':', 1) cat_id_to_name[cat_id] = cat_name unique_cats.add(cat_id)输出格式修改:
- 主输出文件(
output/tag_category_similar_YYYYMMDD.txt):只包含ID - 格式:
category_id \t similar_id1:score1,similar_id2:score2,... - Debug文件(
output/debug/tag_category_similar_YYYYMMDD_readable.txt):包含ID+名称 - 格式:
category_id:category_name \t similar_id1:similar_name1:score1,...
- 主输出文件(
输出示例
主文件(用于Redis加载):
123 456:0.8123,789:0.7654,234:0.6543
Debug文件(便于人工查看):
================================================================================
明文索引文件
生成时间: 2025-10-22 HH:MM:SS
描述: tag_category_similar (分类相似度)
总索引数: 708
================================================================================
123:BB夹/一字夹 456:横夹:0.8123,789:橡皮筋/发圈:0.7654,234:抓夹:0.6543
2. 更新详细设计文档
修改位置
文件:offline_tasks/doc/详细设计文档.md
章节:📊 数据量统计
变更内容
- 基于真实输出文件统计了实际数据量
- 更新了所有索引类型的准确数量和大小
- 添加了
tag_category_similar索引统计 - 更新了Redis内存占用预估(从180MB更新为400MB)
实际数据统计(2025-10-22)
| 索引类型 | 索引数量 | 单条平均大小 | 总大小 | 更新频率 |
|---|---|---|---|---|
| i2i_deepwalk | 48,376 | ~780B | 36MB | 每天 |
| i2i_session_w2v | 50,990 | ~840B | 41MB | 每天 |
| i2i_content_name | 127,720 | ~830B | 101MB | 每周 |
| i2i_content_pic | 0 | - | 0 | 每周 |
| i2i_item_behavior | 178,775 | ~750B | 128MB | 每天 |
| interest_hot | 14,001 | ~520B | 6.9MB | 每天 |
| interest_cart | 15,563 | ~670B | 10MB | 每天 |
| interest_new | 6,463 | ~500B | 3.1MB | 每天 |
| interest_global | 17,533 | ~660B | 11MB | 每天 |
| tag_category_similar | 708 | ~930B | 630KB | 每周 |
| 总计 | ~460,000 | - | ~338MB | - |
3. 需要执行的操作
要应用这些更改,需要重新运行脚本:
cd /home/tw/recommendation/offline_tasks
python scripts/tag_category_similar.py --debug
这将生成:
output/tag_category_similar_20251022.txt- ID格式的主文件output/debug/tag_category_similar_20251022_readable.txt- 可读格式的调试文件
4. 影响分析
向后兼容性
- ⚠️ 破坏性变更:主输出文件格式从名称改为ID
- 需要更新所有使用该文件的下游系统(特别是Redis加载脚本)
优势
- ✅ ID格式更稳定,不受名称变更影响
- ✅ 数据更准确,避免名称重复问题
- ✅ 保留可读版本便于调试和验证
- ✅ 与其他索引文件格式保持一致
建议
- 更新Redis加载脚本,使其能够处理category ID
- 在API层做ID到名称的转换(如需要)
- 保持debug文件生成,便于问题排查