Skip to content

二级分类 ​

按 TMDB 属性把媒体分到「电影/电视剧」下的二级目录,规则按书写顺序先命中先返回,空条件作兜底。

TMDB 属性先命中先返回系列子目录兜底分类

前置条件 ​

  • 已能完成 TMDB 识别(分类依赖 TMDB 的类型、语种、国家、关键词与演职人员等字段)。
  • 明确要用的分类目录结构;规则写在 file_organize_category.movie 与 file_organize_category.tv 两段下。
  • 电影与电视剧字段口径不同,编写前请对照下方字段表。
  • 整理配置里开启「按类别分类(二级分类路径)」,二级分类才会拼进整理结果;「电影 / 电视剧」一级目录由「按类型分类(电影 / 电视剧)」控制,两者默认都开启。
  • 想在多套整理配置之间复用几套分类时,可以先把分类存成「二级分类预设」,再在整理配置或重新整理时选择。

详细规则 ​

下面按「怎么匹配 → 怎么写值 → 怎么组织目录 → 怎么抄配置 → 怎么排查」的顺序,把二级分类的完整规则拆开说明。所有结论以保存校验与整理运行时的实际行为为准。

匹配顺序与兜底 ​

规则按配置里的书写顺序从上到下逐条匹配,命中第一条即返回,之后的规则不再参与。顺序本身就是优先级:越具体、越少见的规则越靠前,越宽泛的规则越靠后。

调整顺序有两种方式:

  • 可视化编辑器里选中规则后用上移 / 下移调整列表顺序;
  • 切到「原文」模式,直接调整 YAML 里规则的先后。

两种模式共用同一份配置,实际匹配以保存后配置里的书写顺序为准。顺序信息缺失时(例如手工改过配置文件、顺序索引对不上),未被记录的规则按字典序兜底排列。

示例——「欧美电影」写得太宽泛,会先把诺兰的电影全部吃掉,后面的「诺兰作品」永远轮不到:

yaml
movie:
  欧美电影:
    production_countries: "US,GB,FR,DE"

  诺兰作品:
    series_directors: "克里斯托弗·诺兰,Christopher Nolan"

把具体规则挪到前面:

yaml
movie:
  诺兰作品:
    series_directors: "克里斯托弗·诺兰,Christopher Nolan"

  欧美电影:
    production_countries: "US,GB,FR,DE"

  其他电影:

空条件规则是兜底分类:

yaml
movie:
  国产电影:
    production_countries: "CN"

  其他电影:
  • 其他电影 不写任何字段(null、{}、所有值都是空串都算空条件),表示前面的规则都没命中时放到这里。
  • 保存时,NanShare 会把空条件规则自动移到该段最后,并提示「兜底空规则保存时会自动移动到最后」。
  • 第一条空条件规则一定会兜住所有漏网媒体,所以每段留一条兜底就够了,再写多条也不会被用到。

WARNING

兜底规则不参与精细排序——只要匹配到它就会立即返回。不要把兜底规则写在中间,幻想「先兜住一部分、后面再细挑」。

推荐的整体排序:特定系列 / 演员导演 → 特殊类型(动画、纪录片、综艺等)→ 细分地区 / 年份 → 宽泛地区 → 兜底分类。

匹配逻辑(必填 AND、可选 OR、纯系列规则) ​

条件里的字段分三类:必填字段、可选字段、系列字段。

必填字段就是普通字段名(没有 ? 前缀),一条规则里的所有必填字段必须全部满足:

yaml
movie:
  国产动画电影:
    genre_ids: "16"
    production_countries: "CN"

这表示影片必须同时满足:类型里有动画 16,且制作国家里有 CN。

可选字段是在字段名前加 ? 或全角 ?:

yaml
movie:
  亚洲电影:
    ?original_language: "zh,ja,ko,th"
    ?production_countries: "CN,JP,KR,TH"

可选字段之间是「或」:至少命中一个即可;一个都没命中,这条规则不成立。只有可选字段的规则,命中任意一个可选字段即成立。

必填与可选混用时,判定公式是:

text
命中 = 所有必填字段全部满足
      且(可选字段组为空 或 至少命中一个可选字段)

示例:

yaml
movie:
  近年欧美科幻:
    genre_ids: "878"
    release_year: "2020-2026"
    ?original_language: "en,fr,de"
    ?production_countries: "US,GB,FR,DE"

含义:必须是科幻;年份在 2020~2026;语种或国家至少命中一个可选组。

再组合几个例子:

yaml
movie:
  经典港片:
    production_countries: "HK"
    release_year: "1980-2000"
    ?genre_ids: "28,80,18"
    ?keywords: "成龙,周星驰,刘德华,警匪,江湖"

tv:
  亚洲剧集:
    ?origin_country: "CN,TW,HK,JP,KP,KR,TH"
    ?original_language: "zh,ja,ko,th"

TIP

必填字段如果拿不到数据(例如媒体没有语种信息)会按「不命中」处理。跨电影 / 剧集共用、或数据不全的字段,建议加 ? 写成可选。

系列字段(series_keywords、series_actors、series_directors)单独一套判定:

  • 纯系列规则(只写系列字段)必须命中某个系列才成立,这是「命中不到就不进这个分类」的用法。
  • 混合规则(还有必填 / 可选字段)里,系列字段只决定是否追加「xx系列」子目录,命中失败不影响主分类。
  • ? 前缀写在系列字段上不报错,也不会改变行为——系列字段始终按系列字段处理。

纯系列规则:

yaml
movie:
  成龙电影:
    series_actors: "成龙,Jackie Chan"

混合规则:

yaml
movie:
  华语电影:
    production_countries: "CN,HK,TW"
    series_actors: "成龙,周星驰,刘德华"
text
华语电影 + 演员命中成龙   -> 华语电影/成龙系列
华语电影 + 演员没命中     -> 华语电影
非华语电影 + 演员命中成龙 -> 不命中这条规则

字段与适用域 ​

字段全集与顺序(保存报错提示里的支持字段列表就是这个顺序):

text
genre_ids, original_language, production_countries, origin_country, release_year,
keywords, include_keywords, series_keywords, series_actors, series_directors

每个字段的数据来源与比较方式:

字段数据来源比较方式
genre_ids媒体信息里的 TMDB 类型 ID 列表转大写后精确比较,支持区间展开
original_language原始语种转大写后精确比较
production_countries合并后的国家 / 地区列表转大写后精确比较,仅电影可用
origin_country合并后的国家 / 地区列表转大写后精确比较,仅电视剧可用
release_year媒体年份的前 4 位单年或区间展开后精确比较
keywords标题干草堆:title、name、original_title、original_name、en_title、sg_title、title_year 与别名 names[]不区分大小写的子串包含
include_keywordsTMDB 标签:tmdb_keywords、keyword_names、include_keywords(取 name、original_name、english_name)不区分大小写的子串包含
series_keywords标题干草堆子串包含,命中后追加系列目录
series_actors演员列表,仅前 6 条(支持字符串或 {name, original_name, english_name})子串包含,命中后追加系列目录
series_directors导演 / 剧组人员列表,仅前 6 条子串包含,命中后追加系列目录

顶层固定只有 movie 和 tv 两段,写 categories: 之类的名字会报「一级分类只能是 movie 或 tv」。

禁忌:下面这些写法会在保存时被直接拒绝,不会「静默转换」:

写法报错
year: "2020"年份字段 year 已废弃,请使用 release_year
电影规则写 origin_country电影规则不能使用 origin_country,请使用 production_countries
剧集规则写 production_countries剧集规则不能使用 production_countries,请使用 origin_country
未知字段(如 foo)不支持的二级分类字段 foo,请使用支持字段:genre_ids、original_language、production_countries、origin_country、release_year、keywords、include_keywords、series_keywords、series_actors、series_directors
空分类名 / .、.. 路径段分类名称不能为空 / 分类路径不能包含 . 或 .. 段
条件值为空(例如只写 +)条件值不能为空
年份格式不对(2020以后、>=2020、2020/2026)年份格式应为 YYYY 或 YYYY-YYYY: 2020以后

DANGER

务必记住两条:电影规则里写 origin_country、剧集规则里写 production_countries,都会在保存时被拒绝,规则根本保存不了。旧教程、旧备份里如果有这种写法,先改字段再保存。

TIP

整理运行时的媒体信息里,两类国家 / 地区数据其实是同一份合并列表(由制作国家与 TMDB 原始国家合并而来),这只是底层构造方式。对外一律以保存校验为准:电影只写 production_countries、剧集只写 origin_country,不存在「自动转换」。

保存时还会做一轮规范化:多余 / 重复的 ? 前缀会归一为单个 ?,值统一转换成字符串,空值字段直接丢弃,兜底规则移到该段最后。

值的写法 ​

值分隔符:,、,、;、;、换行。拆分后的前后空格会自动清理,所以 "US, GB, FR" 与 "US,GB,FR" 等效。

字符串和 YAML 数组两种写法等价:

yaml
movie:
  日韩电影:
    production_countries: "JP,KP,KR"
yaml
movie:
  日韩电影:
    production_countries:
      - JP
      - KP
      - KR

值前缀决定这个值怎么参与判定:

写法含义
28候选值:媒体值命中任意一个无前缀候选值即可(OR)
+28必须值:媒体值必须包含(ALL / AND)
-27 / !27排除值:媒体值不能包含(NOT)
28,12多个候选值,命中其一即可
+28,+12两个都必须命中
-27,-53两个都不能命中

大小写不敏感:取值比较统一转大写,文本匹配统一转小写,所以 jp、JP、Jp 效果一样;书写时仍建议按惯例写大写。

候选集合语义(最容易踩的坑):如果同一字段里写了无前缀候选值,媒体值还必须命中候选集合里的至少一个,否则整条规则不成立。以 genre_ids 为例:

yaml
movie:
  # 必须含动作 28,且(含冒险 12 或奇幻 14 至少其一),且不含恐怖 27
  动作冒险非恐怖:
    genre_ids: "+28,12,14,-27"

  # 只表达「是动作,且不是恐怖」
  动作非恐怖:
    genre_ids: "+28,-27"

所以 +28,12,14,-27 不是「动作且非恐怖」,它还额外要求类型里有 12 或 14。要让语义干净利落,只写 + 和 -。

更多例子:

yaml
movie:
  家庭动画电影:
    genre_ids: "+16,+10751"

  纪录片非音乐:
    genre_ids: "99,-10402"

  科幻动作非动画:
    genre_ids: "+878,28,-16"

文本字段(keywords、include_keywords、series_*)同样支持 + / - / ! 前缀:

yaml
movie:
  必须含复仇者:
    keywords: "+复仇者"

  含漫威但排除纪录片标题:
    keywords: "漫威,-纪录片"

  必须同时含圣诞和爱情:
    keywords: "+圣诞,+爱情"

WARNING

+、-、! 后面必须有值。只写一个符号(+、-)会被保存校验拒绝:条件值不能为空。

TIP

文本字段是纯文本子串匹配,不做区间展开,也不支持正则 / 通配符。复仇者-钢铁侠 会被当成一个完整词,而不是「复仇者到钢铁侠」的区间。

区间语法 ​

「精确比较」类字段(genre_ids、original_language、production_countries、origin_country、release_year)里,值写 a-b 会按下面的规则处理:

  • 两端都是纯数字:展开成闭区间逐项。1990-1992 会展开成 1990、1991、1992,包含两个端点。
  • 倒序写法自动按方向展开:2026-2022 等价于 2022 到 2026。
  • 非纯数字的 a-b:只当成 a 和 b 两个值(zh-ja 就是 zh 和 ja 两项)。
  • 展开出来的每一项仍会识别前缀:+2000-2002 等于 +2000,+2001,+2002。

release_year 是最常配合区间使用的字段:

yaml
movie:
  2025 电影:
    release_year: "2025"

  近年电影:
    release_year: "2020-2026"

  近五年电影:
    release_year: "2026-2022"

tv:
  经典老剧:
    release_year: "1980-2005"

媒体的年份是单值(取年份前 4 位),所以区间展开后等价于「命中任意一年」,1990-1992 和 1990,1991,1992 的匹配效果一致。

release_year 的格式校验只接受 YYYY 或 YYYY-YYYY:

DANGER

2020以后、>=2020、2020/2026、20-26 这类写法一律保存失败,报错「年份格式应为 YYYY 或 YYYY-YYYY: xxx」。年份一律写四位数字。

TIP

国家 / 语种代码本身不带连字符。不要在值里写 zh-CN 这类写法——- 会被当作区间分隔符,拆成 zh、CN 两个值。

keywords 与 include_keywords ​

两个字段都是「关键词」思路,但数据来源不同:

字段匹配来源适合场景
keywords标题干草堆:标题、原名、英文名、别名、带年份标题片名里有明显词语,例如「哆啦A梦」「演唱会」
include_keywordsTMDB Keywords 标签(tmdb_keywords / keyword_names)题材、宇宙、风格类标签,例如 tokusatsu、cyberpunk

两者都是不区分大小写的子串包含匹配。

keywords 示例:

yaml
movie:
  演唱会:
    keywords: "演唱会,巡演,concert,live"
  漫威标题:
    keywords: "复仇者,钢铁侠,蜘蛛侠,银河护卫队"

tv:
  三体相关:
    keywords: "三体,Three-Body,The Three Body Problem"

include_keywords 示例:

yaml
movie:
  特摄片:
    include_keywords: "tokusatsu,super sentai,kaiju"

  赛博朋克:
    genre_ids: "878"
    include_keywords: "cyberpunk,dystopia"

  超级英雄:
    include_keywords: "superhero,marvel cinematic universe,dc extended universe"

组合使用时,建议把两个都写成可选组,命中任意一边就算数:

yaml
movie:
  假面骑士电影:
    ?keywords: "假面骑士,Kamen Rider"
    ?include_keywords: "tokusatsu,kamen rider"

  赛博朋克科幻:
    genre_ids: "878"
    ?keywords: "赛博朋克,银翼杀手"
    ?include_keywords: "cyberpunk,dystopia"

WARNING

include_keywords 不一定有数据:TMDB 标签缺失、标签语言不一致时都会不命中。重要分类建议同时配 keywords 兜底,并且把两边都放进可选组。

TIP

子串包含意味着短词容易误伤(例如「爱情」会命中「爱情神话」)。既要防误伤、又要宽松收集时,可以把长词写成必填(+),短词写成可选候选。

系列分类(前 6 人、目录拼装) ​

series_keywords、series_actors、series_directors 命中后会追加系列子目录,生成格式:

text
分类名/系列名系列

规则:

  • 系列名取自命中的那个候选值本身;同一字段命中多个候选值时,按书写顺序取第一个。
  • 系列名已经以「系列」结尾时不会重复追加;分类名为空时只输出「系列名系列」。
  • 演员 / 导演只看列表前 6 条记录(支持字符串或 {name, original_name, english_name} 对象项)。
  • 建议用无前缀候选值写系列字段:+ 前缀虽然参与判定,但不会产出系列名,因此不会生成系列目录。

示例:

yaml
movie:
  动画电影:
    genre_ids: "16"
    series_keywords: "哆啦A梦,名侦探柯南,蜡笔小新"
text
标题含 哆啦A梦       -> 动画电影/哆啦A梦系列
标题含 名侦探柯南    -> 动画电影/名侦探柯南系列
是动画但没命中系列词 -> 动画电影

演员 / 导演系列:

yaml
movie:
  成龙电影:
    series_actors: "成龙,Jackie Chan"

  诺兰作品:
    series_directors: "克里斯托弗·诺兰,Christopher Nolan"
text
成龙电影/成龙系列/...
诺兰作品/克里斯托弗·诺兰系列/...

剧集示例:

yaml
tv:
  国产剧:
    origin_country: "CN,TW,HK"
    series_keywords: "庆余年,长相思,三体"

  韩剧:
    origin_country: "KR"
    series_actors: "李政宰,孔刘,宋慧乔"

  导演作品/孔笙:
    series_directors: "孔笙"

WARNING

一条规则里同时写多个系列字段且都命中时,只会取其中一个生成子目录,取哪个不具备稳定顺序。需要确定性时,一条规则只配一个系列字段。

分类名与目录 ​

分类名就是二级目录名,可以写中文、英文或带空格的名字;也可以直接用 / 写成多层路径:

yaml
movie:
  动画/日本动画电影:
    genre_ids: "16"
    production_countries: "JP"

tv:
  动漫/国漫:
    genre_ids: "16"
    origin_country: "CN,TW,HK"

规则:

  • 反斜杠 \ 会统一成 /,空路径段会被清理(动画//日本/ 等价于 动画/日本)。
  • 分类路径不能包含 . 或 .. 段,否则保存报「分类路径不能包含 . 或 .. 段」(防止分类目录逃出目标目录)。
  • 多级目录不需要提前创建,整理时会自动建。
  • 建议层级控制在 2~3 层;层级过深会让 Emby / Jellyfin 扫库、排错、迁移都更麻烦。

整理时的完整路径拼装顺序:

text
媒体类型(电影 / 电视剧) / 二级分类 / 渲染路径
  • 「按类型分类(电影 / 电视剧)」控制第一段,「按类别分类(二级分类路径)」控制二级分类段,两者在整理配置里都可以关闭。
  • 如果二级分类的第一段恰好等于媒体类型标签(例如分类名直接写成 电影/动作),不会重复拼一次「电影」。

示例目录:

text
媒体库/
├── 电影/
│   ├── 动画电影/
│   │   └── 你的名字。 (2016) {tmdbid-372058}/...
│   ├── 国产电影/
│   └── 其他电影/
└── 电视剧/
    ├── 动漫/国漫/
    │   └── 凡人修仙传 (2020) {tmdbid-...}/Season 1/...
    ├── 国产剧/
    └── 其他剧/

电影配置示例 ​

一套偏实用的电影分类,注释里标了排序思路,可以直接删减后使用:

yaml
movie:
  # 具体系列、演员导演放最前面,避免被地区分类提前拦截
  诺兰作品:
    series_directors: "克里斯托弗·诺兰,Christopher Nolan"

  成龙电影:
    series_actors: "成龙,Jackie Chan"

  漫威标题:
    ?keywords: "复仇者,钢铁侠,雷神,蜘蛛侠,银河护卫队"
    ?include_keywords: "marvel cinematic universe,superhero"

  # 类型细分
  日本动画电影:
    genre_ids: "16"
    production_countries: "JP"
    series_keywords: "哆啦A梦,名侦探柯南,海贼王,火影忍者,蜡笔小新"

  国产动画电影:
    genre_ids: "16"
    production_countries: "CN"

  纪录片:
    genre_ids: "99,-10402"

  音乐演唱会:
    genre_ids: "10402"
    ?keywords: "演唱会,巡演,concert,live,tour"

  科幻动作:
    genre_ids: "+878,+28"

  动作非恐怖:
    genre_ids: "+28,-27"

  # 年份和地区
  近年国产电影:
    production_countries: "CN"
    release_year: "2020-2026"

  港台电影:
    production_countries: "HK,TW,MO"

  韩国电影:
    production_countries: "KP,KR"

  日本电影:
    production_countries: "JP"

  欧美电影:
    production_countries: "US,GB,FR,DE,ES,IT,NL,PT,RU,CA,AU"

  印度电影:
    production_countries: "IN"

  其他电影:

需要按路径再细分时:

yaml
movie:
  华语/动画:
    genre_ids: "16"
    production_countries: "CN,HK,TW"

  华语/动作:
    genre_ids: "28"
    production_countries: "CN,HK,TW"

  欧美/科幻:
    genre_ids: "878"
    production_countries: "US,GB,FR,DE,CA,AU"

  欧美/纪录片:
    genre_ids: "99"
    production_countries: "US,GB,FR,DE,CA,AU"

  其他电影:

剧集配置示例 ​

剧集、动漫、综艺、纪录片都在 tv 段配置:

yaml
tv:
  # 动漫优先,避免被国产剧、日剧、欧美剧提前命中
  国漫:
    genre_ids: "16"
    origin_country: "CN,TW,HK"
    series_keywords: "凡人修仙传,斗破苍穹,完美世界,吞噬星空"

  日漫:
    genre_ids: "16"
    origin_country: "JP"
    series_keywords: "海贼王,火影忍者,名侦探柯南,咒术回战,鬼灭之刃"

  欧美动漫:
    genre_ids: "16"
    origin_country: "US,GB,FR,DE,ES,IT,NL,PT,RU,CA,AU"

  # 类型分类
  儿童动漫:
    genre_ids: "10762"

  纪录片:
    genre_ids: "99"

  综艺:
    genre_ids: "10764,10767"

  # 地区剧集
  国产剧:
    origin_country: "CN"
    series_keywords: "庆余年,长相思,三体,赘婿"

  港台剧:
    origin_country: "TW,HK"

  日剧:
    origin_country: "JP"

  韩剧:
    origin_country: "KP,KR"
    series_keywords: "鱿鱼游戏,爱的迫降,黑暗荣耀"

  泰剧:
    origin_country: "TH"

  欧美剧:
    origin_country: "US,GB,FR,DE,ES,IT,NL,PT,RU,CA,AU"

  其他剧:

更细的路径版:

yaml
tv:
  动漫/国漫:
    genre_ids: "16"
    origin_country: "CN,TW,HK"

  动漫/日漫:
    genre_ids: "16"
    origin_country: "JP"

  综艺/真人秀:
    genre_ids: "10764"

  综艺/脱口秀:
    genre_ids: "10767"

  剧集/国产:
    origin_country: "CN"

  剧集/日韩:
    origin_country: "JP,KP,KR"

  剧集/欧美:
    origin_country: "US,GB,FR,DE,CA,AU"

  其他剧:

组合实战 ​

精确分类 ​

只想把非常确定的一批内容归到指定目录时,用「必填字段 + 区间」收紧条件:

yaml
movie:
  近年国产科幻:
    genre_ids: "878"
    production_countries: "CN"
    release_year: "2019-2026"

tv:
  近年国产动画:
    genre_ids: "16"
    origin_country: "CN"
    release_year: "2020-2026"

宽松收集 ​

用多个可选条件收集一类内容:

yaml
movie:
  假期观影:
    ?genre_ids: "35,10751"
    ?keywords: "春节,圣诞,新年,假期,团圆"
    ?include_keywords: "christmas,holiday,family"

tv:
  悬疑剧:
    ?genre_ids: "9648,80"
    ?keywords: "悬疑,探案,刑侦,谜案"

先系列后地区 ​

重要系列单独成目录,剩下的再进普通地区分类:

yaml
movie:
  哆啦A梦电影:
    genre_ids: "16"
    series_keywords: "哆啦A梦,Doraemon"

  日本动画电影:
    genre_ids: "16"
    production_countries: "JP"

  日本电影:
    production_countries: "JP"

  其他电影:

演员或导演合集 ​

维护个人作品目录,纯系列规则最合适:

yaml
movie:
  导演作品/诺兰:
    series_directors: "克里斯托弗·诺兰,Christopher Nolan"

  演员作品/周星驰:
    series_actors: "周星驰,Stephen Chow"

  演员作品/汤姆克鲁斯:
    series_actors: "汤姆·克鲁斯,Tom Cruise"

排除误分类 ​

处理「纪录片里有音乐片」「动画里有儿童节目」这类容易混淆的情况:

yaml
movie:
  普通纪录片:
    genre_ids: "99,-10402"

  普通动画电影:
    genre_ids: "16,-10751"

tv:
  普通纪录片:
    genre_ids: "99,-10762"

  非儿童动画:
    genre_ids: "16,-10762"

调试建议 ​

分类不符合预期时,按这个顺序排查:

  1. 看规则顺序。更具体的规则是否放在宽泛规则前面?国漫、日漫 要放在 国产剧、日剧 前面,因为它们都可能命中同一个国家 / 地区值。
  2. 看保存校验列表。有错误先修;提示「兜底空规则保存时会自动移动到最后」属于正常提醒。
  3. 看字段位置。电影用 production_countries,剧集用 origin_country,年份用 release_year;写错会直接保存失败(见《字段与适用域》)。
  4. 看类型 ID 的含义。genre_ids: "16" 只代表「动画」,不代表「国漫」——动漫国家要靠 origin_country 等国家字段配合。
  5. 看关键词来源。keywords 匹配标题,include_keywords 匹配 TMDB 标签;两处都没有的数据不会命中。
  6. 看系列行为。混合规则里系列不命中只影响子目录;纯系列规则不命中则整条不成立;+ 前缀的系列值不生成子目录。
  7. 看候选集合语义。写了无前缀候选值就要求「至少命中一个」——+28,12,14,-27 不是「动作且非恐怖」。
  8. 看开关与预设。整理配置里的「按类别分类(二级分类路径)」是否开启;这条整理配置 / 本次重新整理有没有选择某个二级分类预设覆盖全局。
  9. 看 YAML 语法。冒号后要有空格、缩进用空格、不要用制表符。

错误缩进:

yaml
movie:
经典港片:
production_countries: "HK"

正确缩进:

yaml
movie:
  经典港片:
    production_countries: "HK"

参考字典 ​

TIP

下面三张表的取值来自 TMDB,仅供书写参考;完整列表以 TMDB 官方数据为准。个别历史默认值(如 UK)并不对应 TMDB 实际返回的代码(英国是 GB),保留不会报错,只是不会命中。

Genre IDs ​

ID中文English
12冒险Adventure
14奇幻Fantasy
16动画Animation
18剧情Drama
27恐怖Horror
28动作Action
35喜剧Comedy
36历史History
37西部Western
53惊悚Thriller
80犯罪Crime
99纪录Documentary
878科幻Science Fiction
9648悬疑Mystery
10402音乐Music
10749爱情Romance
10751家庭Family
10752战争War
10759动作冒险Action & Adventure
10762儿童Kids
10763新闻News
10764真人秀Reality
10765科幻奇幻Sci-Fi & Fantasy
10766肥皂剧Soap
10767脱口秀Talk
10768战争与政治War & Politics
10770电视电影TV Movie

常用语言代码 ​

代码语言代码语言
zh中文en英语
ja日语ko韩语
fr法语de德语
es西班牙语it意大利语
ru俄语th泰语
pt葡萄牙语hi印地语
ta泰米尔语te泰卢固语
kn卡纳拉语mr马拉地语
gu古吉拉特语pa旁遮普语
tr土耳其语nl荷兰语
ar阿拉伯语

常用国家 / 地区代码 ​

代码国家或地区代码国家或地区
CN中国大陆HK中国香港
TW中国台湾MO中国澳门
US美国GB英国
JP日本KR韩国
KP朝鲜TH泰国
SG新加坡MY马来西亚
IN印度VN越南
FR法国DE德国
IT意大利ES西班牙
NL荷兰PT葡萄牙
RU俄罗斯CA加拿大
AU澳大利亚PH菲律宾
ID印度尼西亚

使用流程 ​

  1. 打开「文件整理 → 基础配置 → 二级分类设置」,在「电影分类 / 电视剧分类」范围间切换。
  2. 用可视化编辑器新增规则、填写分类名与字段;类型 / 语种 / 国家用「任意 / 必含 + / 排除 -」下拉,发行年份用起止年份,关键词 / 标签 / 系列用逗号分隔的标签输入,「必须满足 / 任一命中 (?)」对应字段前的 `?` 前缀。
  3. 需要整体改写时切到「原文」模式直接编辑 YAML;两种模式共用同一份配置,切换前会自动校验,校验不通过不允许切换。
  4. 用上移 / 下移调整规则顺序,或直接在原文里调整规则的先后:规则按书写顺序匹配,先命中先返回。
  5. 把不带条件的规则留作兜底,保存时它会自动排到最后,并给出提示。
  6. 保存前先看校验区域:有错误必须全部改完才能保存;只有警告(例如兜底规则被移动)时核对无误即可保存。
  7. 在整理监控的整理配置里确认「按类别分类(二级分类路径)」已开启(默认开启),整理结果会按「电影 / 电视剧 / 二级分类 / 渲染路径」拼装。
  8. 需要在多套整理配置之间复用不同分类时,把当前分类另存为「二级分类预设」,再在整理配置或重新整理时选择。
  9. 想回到出厂分类时,点「恢复默认」载入默认 YAML(只替换当前未保存内容,确认后仍需手动保存)。

常见问题 ​

规则顺序会互相影响吗? ​

TIP

会。分类按书写顺序逐条匹配,先命中先返回;后面的规则只会收到前面规则没接住的媒体,所以更具体的规则要放前面。兜底规则(空条件)会自动排到最后。

为什么电视剧写了 production_countries 不生效? ​

WARNING

不是「不生效」,而是保存就会被拒绝,报错「剧集规则不能使用 production_countries,请使用 origin_country」。反过来同理——电影规则写 origin_country、剧集规则写 production_countries,都会在保存时被拒绝。正确口径:电影 production_countries,剧集 origin_country。

电影能不能写 origin_country / 剧集能不能写 production_countries? ​

WARNING

都不能,保存校验会直接拒绝,不存在自动转换。旧文档或旧备份里的这类写法,先改成正确字段再保存。

+、!、- 分别代表什么? ​

TIP

+ 表示必须全部命中(AND),! 或 - 表示排除(NOT),不加前缀表示任一命中(OR)。注意:一旦写了无前缀候选值,媒体值就必须命中其中至少一个——+28,12,14,-27 要求「含 28 且含 12 或 14 之一且不含 27」,只表达「动作且非恐怖」要写 +28,-27。

系列字段会生成什么目录? ​

TIP

命中 series_keywords / series_actors / series_directors 后,会在分类名后追加「系列名系列」子目录,例如「华语电影/成龙系列」。系列名取自命中的候选值本身;演员 / 导演只看前 6 条记录;纯系列规则必须命中系列才算匹配,混合规则里系列只决定子目录。

year 还能用吗? ​

WARNING

不能。year 已废弃,写了会直接保存失败,报错「年份字段 year 已废弃,请使用 release_year」。年份统一写 release_year。

能不能写 >=2020 或正则? ​

WARNING

都不能。年份只支持 YYYY 或 YYYY-YYYY;关键词是纯文本子串包含,不支持正则或通配符。

空分类怎么写? ​

TIP

写成什么都不带的规则即可,两种写法都行:

yaml
movie:
  其他电影:
yaml
movie:
  其他电影: {}

保存时会统一渲染成简洁格式(其他电影:),并移动到该段最后。每段留一条兜底就够了。

series_keywords 会不会决定是否进入主分类? ​

TIP

分情况。纯系列规则(只有系列字段)必须命中系列才算匹配,命中不到就不进这个分类;混合规则里有普通字段时,系列只负责生成子目录,不命中照样进主分类。

keywords 和 series_keywords 有什么区别? ​

TIP

keywords 是匹配条件,命中失败会导致整条规则失败;series_keywords 是子目录生成条件,混合规则里失败只是不建系列目录。需要「标题必须含哆啦A梦才进这个分类」,用 keywords;需要「所有日本动画都进分类,命中哆啦A梦时再建系列目录」,用 genre_ids + production_countries + series_keywords。

include_keywords 一定能命中吗? ​

TIP

不一定,它依赖整理时拿到的 TMDB 标签;没有标签、标签不完整时不会命中。重要分类建议同时配 keywords,并把两边都写成可选组。

能不能用 categories: 作为顶层? ​

WARNING

不能。顶层只接受 movie 和 tv,其它名字会报「一级分类只能是 movie 或 tv」。

一个媒体会命中多个分类吗? ​

TIP

不会。匹配到第一条命中的规则就立即返回,后面的规则不再参与;每个媒体只会有一个二级分类目录。

多级目录需要提前创建吗? ​

TIP

不需要。整理时会按分类结果自动创建目录。

NanShare 文档站仅说明 NanShare 项目的部署、配置与使用。