Symedia 二级分类使用教程 
📖 目录 
基础概念 
什么是二级分类? 
二级分类是在媒体库中按照特定规则对影片进行自动分类的功能。例如:
电影/
├── 漫威系列/
│   ├── 钢铁侠系列/
│   │   ├── 钢铁侠 (2008)/
│   │   └── 钢铁侠2 (2010)/
│   └── 复仇者联盟系列/
├── 华语电影/
│   └── 让子弹飞 (2010)/
└── 欧美电影/
    └── 盗梦空间 (2010)/配置文件位置 
配置文件路径:config/category.yaml
配置文件结构 
基本格式 
# 电影分类配置
movie:
  分类名称1:
    匹配条件1: "值"
    匹配条件2: "值"
  分类名称2:
    匹配条件: "值"
# 电视剧分类配置
tv:
  分类名称1:
    匹配条件: "值"重要说明 
- 分类名称 = 目录名称
 - 按顺序匹配,匹配成功后停止
 - 空配置 = 保底分类(匹配所有未分类的)
 - 默认匹配规则: 
- 没有 
?前缀的属性 = 必须全部满足(AND) - 有 
?前缀的属性 = 至少满足一个(OR) 
 - 没有 
 
匹配规则详解 
常用匹配字段 
| 字段 | 说明 | 示例 | 
|---|---|---|
genre_ids | 内容类型 | "28" (动作), "16" (动画) | 
original_language | 原始语言 | "zh,en,ja" | 
production_countries | 制作国家(电影) | "US,CN,JP" | 
origin_country | 制作国家(电视剧) | "US,CN,JP" | 
keywords | 关键词(从标题匹配) | "漫威,复仇者" | 
include_keywords | TMDB 标签关键词 | "tokusatsu,superhero" | 
year | 年份 | "2020-2025" | 
series_keywords | 系列关键词 | "钢铁侠,蜘蛛侠" | 
series_directors | 系列导演 | "诺兰,斯皮尔伯格" | 
series_actors | 系列演员 | "汤姆·克鲁斯" | 
?属性名 | 可选匹配属性 | "?original_language" | 
多值匹配 
使用逗号分隔多个值:
华语电影:
  original_language: "zh,cn,bo,za" # 匹配中文、粤语、藏语、壮语Keywords 和 Include_Keywords 的区别 
keywords - 标题关键词匹配 
从影片标题中匹配关键词:
漫威系列:
  keywords: "漫威,复仇者,钢铁侠" # 标题包含这些词include_keywords - TMDB 标签匹配 
从 TMDB 数据库的标签/关键词字段匹配,更精确:
特摄片:
  include_keywords: "tokusatsu" # TMDB标签包含 tokusatsu使用场景:
keywords:适合根据常见中文/英文标题分类include_keywords:适合根据 TMDB 专业标签精确分类
实例对比:
# 方式1:通过标题匹配(可能不够精确)
假面骑士系列:
  keywords: "假面骑士,Kamen Rider"
# 方式2:通过TMDB标签(更精确)
特摄片:
  include_keywords: "tokusatsu,super sentai"
  series_keywords: "假面骑士,超级战队,奥特曼"操作符 
+ 号 - 必须包含 
儿童动画:
  genre_ids: "+16,+10751" # 必须同时是动画(16)和家庭(10751)- 号 - 必须排除 
纪录片:
  genre_ids: "99,-10402" # 是纪录片(99)但不是音乐(10402)混合使用 
动作冒险:
  genre_ids: "+28,12,14,-27" # 必须有动作(28),可以有冒险(12)或奇幻(14),但不能有恐怖(27)年份范围 
近期电影:
  year: "2020-2025" # 2020年到2025年之间可选属性匹配(? 前缀) 
什么是可选属性匹配? 
通过在属性名前添加 ? 或 ? 前缀,可以灵活控制匹配逻辑:
- 没有 
?前缀 = 必须匹配(所有这类属性都要满足) - 有 
?前缀 = 可选匹配(至少满足其中一个) 
匹配规则 
最终匹配条件 = 必须属性全部满足 AND 可选属性至少满足一个
使用场景 
场景 1:只有必须属性(全部都要满足) 
美国科幻片:
  genre_ids: "878" # 必须:科幻
  production_countries: "US" # 必须:美国
  year: "2020-2025" # 必须:2020-2025年匹配结果:必须同时满足所有三个条件。
场景 2:只有可选属性(至少满足一个) 
亚洲电影:
  ?original_language: "zh,ja,ko" # 可选:中文、日语或韩语
  ?origin_country: "CN"匹配结果:语言是中文,或者国家是 CN,满足任意一个即可。
场景 3:必须 + 可选(组合匹配) 
欧美科幻:
  genre_ids: "878" # 必须:科幻
  ?original_language: "en,fr,de" # 可选:英/法/德语任意一个
  ?production_countries: "US,GB" # 可选:美国或英国任意一个匹配结果:
- ✅ 科幻片 + 英语 → 匹配(必须满足 + 可选满足)
 - ✅ 科幻片 + 法国制作 → 匹配(必须满足 + 可选满足)
 - ❌ 科幻片 + 中文 + 中国制作 → 不匹配(必须满足但可选都不满足)
 - ❌ 剧情片 + 英语 → 不匹配(必须不满足)
 
实战示例 
示例 1:精确分类 
近期欧美科幻:
  genre_ids: "878" # 必须:科幻
  year: "2020-2025" # 必须:近期示例 2:广泛收集 
热门动作片:
  genre_ids: "28" # 必须:动作片
  ?keywords: "漫威,DC,速度与激情" # 可选:这些关键词之一
  ?year: "2023-2025" # 可选:或者是近期作品示例 3:复杂组合 
经典港片:
  origin_country: "HK" # 必须:香港
  year: "1980-2000" # 必须:1980-2000年
  ?genre_ids: "28,80,18" # 可选:动作、犯罪或剧情之一
  ?keywords: "成龙,周星驰,刘德华" # 可选:或这些明星之一使用技巧 
技巧 1:多个可选属性形成"或"关系 
假期观影推荐:
  ?genre_ids: "35,10751" # 可选1:喜剧或家庭
  ?keywords: "圣诞,新年" # 可选2:或节日主题
  ?year: "2024-2025" # 可选3:或最近新片只要满足任意一个可选条件即可。
技巧 2:必须条件缩小范围,可选条件扩展匹配 
漫威英雄片:
  genre_ids: "+28" # 必须:动作片
  production_countries: "US"
  ?keywords: "复仇者,钢铁侠,蜘蛛侠" # 可选:漫威角色
  ?include_keywords: "marvel cinematic universe (mcu)" # 可选:关键词带有漫威宇宙Series 系列分类 
什么是 Series? 
Series 属性用于生成子分类,格式为:分类名/系列名
例如:
漫威系列/钢铁侠系列/漫威系列/复仇者联盟系列/
Series 属性类型 
| 属性 | 说明 | 示例 | 
|---|---|---|
series_keywords | 从标题匹配系列关键词 | "钢铁侠,蜘蛛侠" | 
series_directors | 从导演匹配系列 | "诺兰,昆汀" | 
series_actors | 从演员匹配系列 | "汤姆·克鲁斯" | 
重要特性 
⚠️ Series 属性只用于生成系列名,不参与匹配条件判断!
使用方式 
方式 1:只有 Series 属性 
漫威系列:
  series_keywords: "钢铁侠,美国队长,雷神,复仇者联盟"效果:
- 标题包含"钢铁侠" → 
漫威系列/钢铁侠系列/ - 标题包含"复仇者联盟" → 
漫威系列/复仇者联盟系列/ - 标题不包含任何关键词 → 不匹配
 
方式 2:必须条件 + Series 
科幻系列:
  genre_ids: "878" # 必须:科幻片
  production_countries: "US" # 必须:美国
  series_keywords: "星球大战,星际迷航" # 系列名效果:
- 美国科幻片 + 标题含"星球大战" → 
科幻系列/星球大战系列/ - 美国科幻片 + 标题不含关键词 → 
科幻系列/ - 中国科幻片 → 不匹配(必须条件不满足)
 
方式 3:可选条件 + Series 
动作系列:
  genre_ids: "28" # 必须:动作片
  ?keywords: "汽车,赛车" # 可选:关键词
  series_keywords: "速度与激情,变形金刚" # 系列名效果:
- 动作片 + 标题含"速度与激情" → 
动作系列/速度与激情系列/ - 动作片 + 标题含"汽车" → 
动作系列/ - 动作片(无特殊关键词)→ 
动作系列/ - 剧情片 + 标题含"速度与激情" → 不匹配(必须条件不满足)
 
⚠️ 注意:series_keywords 匹配只影响系列名,不影响是否匹配该分类!
高级用法 
1. 排除特定类型 
剧情片:
  genre_ids: "18,-27,-16" # 剧情片,但不要恐怖片和动画2. 多条件组合 
亚洲动作片:
  genre_ids: "28" # 必须:动作片
  origin_country: "CN,HK,TW,JP,KR,TH" # 必须:亚洲国家
  year: "2020-2025" # 必须:近期3. 保底分类 
放在最后,不配置任何条件:
其他电影:
  # 不配置条件,匹配所有前面未匹配的或配置为空:
其他电影:4. 导演/演员系列 
诺兰作品:
  series_directors: "克里斯托弗·诺兰"
汤姆·克鲁斯电影:
  series_actors: "汤姆·克鲁斯"5. 复杂的可选逻辑 
假期观影推荐:
  ?genre_ids: "35,10751" # 可选1:喜剧或家庭
  ?keywords: "圣诞,新年,假期" # 可选2:节日关键词
  ?year: "2023-2025" # 可选3:最近新片6. 使用 TMDB 标签精确分类 
利用 include_keywords 进行专业分类:
# 特摄片分类(假面骑士、奥特曼等)
特摄片:
  include_keywords: "tokusatsu,super sentai,kaiju"
  series_keywords: "假面骑士,奥特曼,超级战队,哥斯拉"
# 超级英雄电影(通过标签更精确)
超级英雄:
  include_keywords: "superhero,marvel cinematic universe,dc extended universe"
# 赛博朋克题材
赛博朋克:
  genre_ids: "878" # 必须:科幻类型
  include_keywords: "cyberpunk,dystopia" # 必须:赛博朋克标签
# 音乐传记片
音乐传记:
  include_keywords: "biography,music" # 必须:传记+音乐标签
  genre_ids: "10402,36" # 必须:音乐+历史类型
提示:在 TMDB 网站上查看影片的 Keywords 标签,可以找到更多可用的标签词。
实战示例 
示例 1:电影完整配置 
movie:
  # 1. 特定系列(优先匹配)
  漫威系列:
    series_keywords: "钢铁侠,美国队长,雷神,复仇者联盟,银河护卫队,蜘蛛侠"
  DC系列:
    series_keywords: "蝙蝠侠,超人,神奇女侠,正义联盟"
  # 2. 特定类型
  纪录片:
    genre_ids: "99,-10402" # 纪录片但不包括音乐类
  演唱会:
    genre_ids: "10402" # 必须:音乐类型
    ?keywords: "演唱会,巡演,live" # 可选:相关关键词
  # 3. 动画电影
  国产动画:
    genre_ids: "16" # 必须:动画
    production_countries: "CN" # 必须:中国
  日本动画:
    genre_ids: "16" # 必须:动画
    production_countries: "JP" # 必须:日本
    series_keywords: "哆啦A梦,柯南,火影忍者"
  # 3.5. 特殊类型(通过TMDB标签)
  特摄片:
    include_keywords: "tokusatsu,super sentai,kaiju"
    series_keywords: "假面骑士,奥特曼,超级战队"
  # 4. 地区分类
  华语电影:
    original_language: "zh,cn"
  日韩电影:
    original_language: "ja,ko"
  # 5. 保底分类
  欧美电影:示例 2:电视剧完整配置 
tv:
  # 1. 动漫分类(优先)
  国漫:
    genre_ids: "16" # 必须:动画
    origin_country: "CN,TW,HK" # 必须:中国地区
  日漫:
    genre_ids: "16" # 必须:动画
    origin_country: "JP" # 必须:日本
  欧美动漫:
    genre_ids: "16" # 必须:动画
    origin_country: "US,GB,FR" # 必须:欧美
  # 2. 特定类型
  纪录片:
    genre_ids: "99"
  综艺:
    genre_ids: "10764,10767"
  儿童节目:
    genre_ids: "10762"
  # 3. 地区剧集
  国产剧:
    origin_country: "CN,TW,HK,SG"
    series_keywords: "长相思,庆余年,三体"
  日剧:
    origin_country: "JP"
  韩剧:
    origin_country: "KR"
    series_keywords: "爱的迫降,鱿鱼游戏"
  泰剧:
    origin_country: "TH"
  # 4. 欧美剧
  欧美剧:
    origin_country: "US,GB,CA,DE,FR"
  # 5. 保底
  其他剧集:常见问题 
Q1: 分类顺序重要吗? 
非常重要! 程序会按配置顺序匹配,匹配成功后停止。
❌ 错误示例(宽泛的在前):
movie:
  欧美电影: # 这个太宽泛,几乎匹配所有
  漫威系列: # 永远不会匹配到这里
    series_keywords: "复仇者联盟"✅ 正确示例(具体的在前):
movie:
  漫威系列: # 先匹配具体的
    series_keywords: "复仇者联盟"
  欧美电影: # 再匹配宽泛的Q2: 怎么调试分类不生效? 
- 检查配置语法是否正确(YAML 格式)
 - 检查分类顺序(是否被前面的分类拦截)
 - 查看日志输出
 - 确认 TMDB 数据是否包含该字段
 
Q3: 什么时候用必须属性,什么时候用可选属性? 
- 必须属性(无 
?前缀):需要精确分类时使用- 例如:"2020 年后的美国科幻片"
 - 所有条件都必须满足
 
 - 可选属性(有 
?前缀):需要广泛收集时使用- 例如:"漫威电影 或 DC 电影 或 2024 年新片"
 - 至少满足其中一个即可
 
 
Q4: Series 属性如何工作? 
Series 属性不参与匹配条件判断,只用于生成系列名。
动作系列:
  genre_ids: "28" # 必须:动作片
  ?keywords: "爆炸" # 可选:关键词
  series_keywords: "速度与激情" # 只生成系列名- 动作片 → 匹配 ✓
 - 动作片 + 标题含"爆炸" → 匹配 ✓
 - 标题含"速度与激情"但不是动作片 → 不匹配 ✗
 
Q5: 能否让 Series 也参与匹配判断? 
不能。这是设计决策。如果需要关键词参与判断,请使用 keywords 或 ?keywords:
动作系列:
  genre_ids: "28" # 必须:动作片
  ?keywords: "速度与激情" # 可选:关键词匹配Q6: 怎么处理多语言标题? 
keywords 和 series_keywords 从 TMDB 标题 匹配,使用本地化标题:
日本动画:
  genre_ids: "16"
  origin_country: "JP"
  series_keywords: "ワンピース,海贼王,航海王" # 多个译名Q7: 年份范围的边界是包含还是排除? 
包含边界。"2020-2025" 包括 2020 和 2025 年。
Q8: keywords 和 include_keywords 有什么区别? 
keywords:从影片的标题中匹配关键词
- 适用场景:通过常见的中文/英文标题进行分类
 - 例如:
keywords: "漫威,复仇者"会匹配标题包含这些词的影片 
include_keywords:从 TMDB 数据库的Keywords 标签字段匹配
- 适用场景:需要更专业、精确的分类
 - 例如:
include_keywords: "tokusatsu"匹配特摄类型的影片 - 优势:TMDB 的标签更标准化,不受标题翻译影响
 
建议:
- 对于常规分类,用 
keywords就够了 - 对于专业领域(特摄、赛博朋克等),用 
include_keywords更精确 - 可以同时使用两者进行组合匹配
 
Q9: 如何查找可用的 TMDB Keywords? 
- 访问 TMDB 网站(themoviedb.org)
 - 搜索你想分类的影片
 - 在影片页面找到 "Keywords" 部分
 - 复制相关的英文关键词到 
include_keywords配置中 
示例:
- 搜索《假面骑士》→ 找到 Keywords: 
tokusatsu - 搜索《银翼杀手》→ 找到 Keywords: 
cyberpunk,dystopia 
参考字典 
Genre IDs(内容类型) 
电影类型 
| ID | 中文 | English | 
|---|---|---|
| 28 | 动作 | Action | 
| 12 | 冒险 | Adventure | 
| 16 | 动画 | Animation | 
| 35 | 喜剧 | Comedy | 
| 80 | 犯罪 | Crime | 
| 99 | 纪录 | Documentary | 
| 18 | 剧情 | Drama | 
| 10751 | 家庭 | Family | 
| 14 | 奇幻 | Fantasy | 
| 36 | 历史 | History | 
| 27 | 恐怖 | Horror | 
| 10402 | 音乐 | Music | 
| 9648 | 悬疑 | Mystery | 
| 10749 | 爱情 | Romance | 
| 878 | 科幻 | Science Fiction | 
| 10770 | 电视电影 | TV Movie | 
| 53 | 惊悚 | Thriller | 
| 10752 | 战争 | War | 
| 37 | 西部 | Western | 
电视剧类型 
| ID | 说明 | 
|---|---|
| 10759 | 动作冒险 | 
| 16 | 动画 | 
| 35 | 喜剧 | 
| 80 | 犯罪 | 
| 99 | 纪录片 | 
| 18 | 剧情 | 
| 10751 | 家庭 | 
| 10762 | 儿童 | 
| 9648 | 悬疑 | 
| 10763 | 新闻 | 
| 10764 | 真人秀 | 
| 10765 | 科幻奇幻 | 
| 10766 | 肥皂剧 | 
| 10767 | 脱口秀 | 
| 10768 | 战争政治 | 
| 37 | 西部 | 
Language Codes(语言代码) 
| 代码 | 语言 | 代码 | 语言 | 
|---|---|---|---|
| zh | 中文 | en | 英语 | 
| ja | 日语 | ko | 韩语 | 
| fr | 法语 | de | 德语 | 
| es | 西班牙语 | it | 意大利语 | 
| pt | 葡萄牙语 | ru | 俄语 | 
| ar | 阿拉伯语 | hi | 印地语 | 
| th | 泰语 | vi | 越南语 | 
| id | 印尼语 | tr | 土耳其语 | 
Country Codes(国家代码) 
| 代码 | 国家/地区 | 代码 | 国家/地区 | 
|---|---|---|---|
| CN | 中国大陆 | HK | 中国香港 | 
| TW | 中国台湾 | MO | 中国澳门 | 
| US | 美国 | GB | 英国 | 
| JP | 日本 | KR | 韩国 | 
| FR | 法国 | DE | 德国 | 
| IT | 意大利 | ES | 西班牙 | 
| CA | 加拿大 | AU | 澳大利亚 | 
| IN | 印度 | TH | 泰国 | 
| SG | 新加坡 | MY | 马来西亚 | 
| RU | 俄罗斯 | BR | 巴西 | 
| MX | 墨西哥 | AR | 阿根廷 | 
快速上手 
第一步:复制模板 
复制示例配置到 config/category.yaml
第二步:测试简单配置 
movie:
  华语电影:
    original_language: "zh,cn"
  其他电影:第三步:逐步完善 
根据实际需求,添加更多分类。
第四步:观察效果 
查看媒体库目录结构是否符合预期。
总结 
- ✅ 分类按顺序匹配,具体的放前面
 - ✅ 没有 
?前缀 = 必须全部满足(AND) - ✅ 有 
?前缀 = 至少满足一个(OR) - ✅ Series 属性只生成系列名,不参与匹配判断
 - ✅ 使用操作符 
+-精确控制匹配 - ✅ 保底分类放最后,配置为空即可
 - ✅ 多测试,查看日志确认效果
 
祝你使用愉快!如有问题,欢迎查看日志或提 issue。 🎉

