Skip to content

量产音频: 实现 GetHot 并调整 GetAudio/GetAudioTag 契约与独立 Redis - #67

Merged
dwqnidq merged 1 commit into
devfrom
qlj/dev/0826-somni-audio-gethot-list
Aug 26, 2026
Merged

量产音频: 实现 GetHot 并调整 GetAudio/GetAudioTag 契约与独立 Redis#67
dwqnidq merged 1 commit into
devfrom
qlj/dev/0826-somni-audio-gethot-list

Conversation

@dwqnidq

@dwqnidq dwqnidq commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • 实现量产 GetHot:GetAudio 有搜索词时异步写入 Redis ZSET + ES 搜索事件,GetHot 返回 Top N keyword/score
  • 调整 GetAudio 契约为顶层 list/page/page_size/total,列表项仅含 id/audio_name/audio_url/cover_url/description/vip(vip 缺省为 0);搜索匹配全部 content_form 标签,无命中返回空列表
  • 扩展 GetAudioTag:返回 id/parent_tag_id/statusparent_tag_id 为 null 时显式返回 null;查库仅 type=content_form 一级启用标签
  • 量产 Redis 使用独立 SOMNI_REDIS_URL,与功能手板/HTTP 的 REDIS_URL 隔离;docker-compose 新增 redis-somni

Test plan

  • 配置 SOMNI_REDIS_URL 后启动服务,日志出现「已连接量产独立 Redis」
  • GetAudioquery_text=雨声,再调 GetHot,可见对应 keyword/score 增长;热点 key 只落在量产 Redis
  • GetAudio 响应仅含 list/page/page_size/total,list 项六字段,vip 为数字 0/1
  • GetAudioTag 仅返回 content_form 一级标签,根标签 parent_tag_id 为 null
  • SOMNI_REDIS_URL 为空时 GetHot 返回 UNAVAILABLE,GetAudio 主流程不受热点记账失败影响
  • CI 全绿

Made with Cursor

量产 AudioService 补齐热点搜索,并收敛 GetAudio / GetAudioTag 对外契约;量产 Redis 与功能手板/HTTP 物理隔离。

## GetHot
- 新增 GetHot:从独立量产 Redis ZSET 读取 Top N,返回 keyword + score
- GetAudio 在有 query_text 时异步记账(Redis 计数 + ES 搜索事件明细),失败不阻断主流程
- 搜索词仅做 strip 清洗,不做语义归一;关闭前排空热点后台任务

## GetAudio
- 响应改为顶层 list / page / page_size / total
- list 项仅返回 id、audio_name、audio_url、cover_url、description、vip
- vip 为 int32,缺省显式返回 0
- query_text 匹配全部 content_form 标签(含二级);无命中物料时返回空列表,不回退父级标签
- 默认相似度阈值调整为 0.75

## GetAudioTag
- TagDictItem 新增 id、parent_tag_id、status
- parent_tag_id 为 null 时 JSON 显式返回 null
- 查库仅返回 type=content_form、启用、且无父级的一级标签

## Redis / 部署
- 量产仅使用 SOMNI_REDIS_URL,不再回退 REDIS_URL
- 启动时探测量产 Redis;读写超时与 GetHot 故障映射为 UNAVAILABLE
- docker-compose 新增独立持久化 redis-somni 服务

## 测试
- 补充/更新 proto、catalog、hot、gRPC 相关单测

Co-authored-by: Cursor <cursoragent@cursor.com>
@dwqnidq
dwqnidq merged commit a097ec4 into dev Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant