Skip to content

二级分类策略

二级分类用于文件整理时生成媒体库里的第二层目录。NanShare 完成文件识别后,会把 TMDB、豆瓣、文件名解析和媒体探测得到的信息合并成媒体信息,再按照 config/config.yaml 里的 file_organize_category 从上到下匹配分类规则。

典型整理结果:

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

配置文件位置:

text
config/config.yaml -> file_organize_category

如果配置文件不存在,NanShare 会自动生成默认配置。后台保存时也会做 YAML 校验,并把空规则兜底分类移动到最后。

默认配置

下面是 NanShare 当前默认二级分类。电影规则写在 movie 下,电视剧、动漫、综艺都写在 tv 下。

yaml
movie:
  动画电影:
    genre_ids: '16'
  国产电影:
    production_countries: 'CN'
  港台电影:
    production_countries: 'TW,HK'
  韩国电影:
    original_language: 'ko'
  日本电影:
    original_language: 'ja'
  欧美电影:
    original_language: 'en,fr,de,es,it,nl,pt,ru'
  其他电影:

tv:
  国漫:
    genre_ids: '16'
    origin_country: 'CN,TW,HK'
  日漫:
    genre_ids: '16'
    origin_country: 'JP'
  欧美动漫:
    genre_ids: '16'
    origin_country: 'US,FR,GB,DE,ES,IT,NL,PT,RU,UK,CA,AU'
  儿童动漫:
    genre_ids: '10762'
  纪录片:
    genre_ids: '99'
  综艺:
    genre_ids: '10764,10767'
  国产剧:
    origin_country: 'CN'
  港台剧:
    origin_country: 'TW,HK'
  欧美剧:
    origin_country: 'US,FR,GB,DE,ES,IT,NL,PT,RU,UK,CA,AU'
  日剧:
    origin_country: 'JP'
  韩剧:
    origin_country: 'KP,KR'
  其他剧:

默认配置可以直接用,也可以完全按自己的媒体库习惯重写。分类名就是目录名,例如 国产电影 会成为二级目录名。

基础结构

file_organize_category 的顶层固定只能写 movietv

yaml
movie:
  分类名称:
    字段名: "匹配值"

tv:
  分类名称:
    字段名: "匹配值"

电影只会匹配 movie 下的规则。电视剧、动漫、综艺、纪录片剧集都会匹配 tv 下的规则。

分类名可以写中文、英文或带空格的名称:

yaml
movie:
  4K 电影:
    genre_ids: "28,878"

tv:
  儿童节目:
    genre_ids: "10762"

分类名也可以用 / 生成多层目录。NanShare 会把反斜杠统一成 /,并清理空路径段。

yaml
movie:
  动画/日本动画电影:
    genre_ids: "16"
    original_language: "ja"

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

匹配后的目录类似:

text
电影/动画/日本动画电影/你的名字。 (2016) {tmdbid-372058}/...
电视剧/动漫/国漫/凡人修仙传 (2020) {tmdbid-...}/Season 1/...

不要在分类名里写 ... 路径段。NanShare 会拒绝这类路径,避免分类目录逃出目标目录。

匹配顺序

规则按配置文件从上到下匹配,命中第一个分类后立即停止。越具体的规则越应该放在前面,越宽泛的规则越应该放在后面。

错误写法:

yaml
movie:
  欧美电影:
    original_language: "en,fr,de"

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

上面 欧美电影 太宽泛,很多诺兰电影会先命中 欧美电影,后面的 诺兰作品 就没有机会匹配。

推荐写法:

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

  欧美电影:
    original_language: "en,fr,de"

空规则会作为兜底分类:

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

  其他电影:

其他电影 不写任何字段,表示前面的规则都没命中时放到这里。保存配置时,NanShare 会自动把这类空规则移动到最后。

匹配逻辑

NanShare 的规则分三类:必选字段、可选字段、系列字段。

必选字段是普通字段名,没有 ? 前缀:

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

这表示影片必须同时满足:

  • genre_ids 包含动画类型 16
  • production_countries 包含中国 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: "成龙,周星驰,刘德华,警匪,江湖"

  假期电影:
    ?genre_ids: "35,10751"
    ?keywords: "圣诞,新年,春节,假期"
    ?release_year: "2023-2026"

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

字段说明

NanShare 已知字段如下:

字段适用范围说明
genre_idsmovie / tvTMDB 类型 ID,例如动画 16、动作 28、综艺 10764
original_languagemovie / tv原始语言,例如中文 zh、英语 en、日语 ja
production_countriesmovie电影制片国家或地区,例如 CNUSJP
origin_countrytv剧集原始国家或地区,例如 CNJPKR
release_yearmovie / tv发行年份,支持单年或范围
keywordsmovie / tv从标题、原名、英文名、别名等标题字段里匹配关键词
include_keywordsmovie / tv从 TMDB Keywords 标签数据里匹配关键词
series_keywordsmovie / tv从标题字段匹配系列名,用于生成系列子目录
series_actorsmovie / tv从前 6 位演员名称中匹配系列名,用于生成系列子目录
series_directorsmovie / tv从前 6 位导演名称中匹配系列名,用于生成系列子目录

字段使用范围要按表格来写:

  • 电影规则使用 production_countries,不能写 origin_country
  • 剧集规则使用 origin_country,不能写 production_countries
  • 年份字段只支持 release_year,不能写旧字段 year

示例:

yaml
movie:
  日本电影:
    production_countries: "JP"

tv:
  日剧:
    origin_country: "JP"

未知字段不会直接报错,但后台会提示警告。NanShare 会尝试按媒体信息里的同名一级字段匹配。只有你确认整理时媒体信息确实存在这个字段时,才建议这样写。

值的写法

字段值可以写成逗号分隔字符串:

yaml
movie:
  华语电影:
    production_countries: "CN,HK,TW"

也可以不加引号:

yaml
tv:
  综艺:
    genre_ids: 10764,10767

也可以写成 YAML 数组:

yaml
movie:
  华语电影:
    production_countries:
      - CN
      - HK
      - TW

这些写法都会归一化成逗号分隔值。genre_ids: 10764,10767 是支持的,不需要给每个数字加冒号。为了复制和维护方便,推荐用逗号分隔字符串。

值会按逗号拆分,大小写会统一处理,前后空格会被清理。

yaml
tv:
  欧美剧:
    origin_country: "US, GB, FR, DE"

上面和 "US,GB,FR,DE" 的效果一致。

年份语法

年份字段可以写单个年份:

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

也可以写年份范围:

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

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

范围包含边界,2020-2026 会包含 2020 年和 2026 年。

年份范围也可以倒序写,NanShare 会展开为完整范围:

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

上面等价于匹配 2022、2023、2024、2025、2026。

年份可配合其他字段缩小范围:

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

tv:
  近年韩剧:
    origin_country: "KR"
    release_year: "2020-2026"

年份字段必须是 YYYYYYYY-YYYY。写成 2020以后>=20202020/2026 都不会通过校验。

genre_ids 语法

genre_ids 支持普通值、必须包含、必须排除三种写法。

写法含义
16普通候选值,实际类型包含任意普通候选值即可
+16必须包含 16
-27必须不包含 27
!27必须不包含 27,和 -27 一样

普通值示例:

yaml
movie:
  动作或冒险:
    genre_ids: "28,12"

tv:
  综艺:
    genre_ids: "10764,10767"

电影类型只要包含动作 28 或冒险 12 之一,就会命中 动作或冒险。剧集类型只要包含真人秀 10764 或脱口秀 10767 之一,就会命中 综艺

必须包含示例:

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

tv:
  儿童动画:
    genre_ids: "+16,+10762"

上面必须同时包含两个类型 ID。只包含动画但不包含家庭或儿童的内容不会命中。

排除示例:

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

  剧情片非恐怖:
    genre_ids: "18,-27"

tv:
  纪录片非儿童:
    genre_ids: "99,-10762"

混合示例:

yaml
movie:
  动作冒险非恐怖:
    genre_ids: "+28,12,14,-27"

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

+28,12,14,-27 的含义是:

  • 必须包含动作 28
  • 可以包含冒险 12 或奇幻 14 中任意一个
  • 不能包含恐怖 27

注意:如果写了普通候选值,NanShare 会要求媒体类型命中任意一个普通候选值。因此 +28,12,14,-27 不是“只要动作且非恐怖就行”,它还要求包含 1214 之一。

如果只想表达“必须是动作,且不是恐怖”,写成:

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

keywords 标题关键词

keywords 从标题相关字段匹配,包括标题、原始标题、英文标题、别名、带年份标题等。匹配方式是“不区分大小写的包含匹配”。

标题关键词适合处理片名里有明显词语的分类。

yaml
movie:
  演唱会:
    keywords: "演唱会,巡演,concert,live"

  漫威标题:
    keywords: "复仇者,钢铁侠,蜘蛛侠,银河护卫队"

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

配合类型使用:

yaml
movie:
  动画电影/哆啦A梦:
    genre_ids: "16"
    keywords: "哆啦A梦,机器猫,Doraemon"

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

tv:
  动漫/柯南:
    genre_ids: "16"
    keywords: "名侦探柯南,Detective Conan"

关键词支持 +-! 前缀:

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

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

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

文本关键词的含义:

  • 无前缀:命中任意一个即可。
  • + 前缀:必须包含这个词。
  • -! 前缀:不能包含这个词。

如果同时存在无前缀和 + 前缀,必须词全部满足,并且无前缀候选至少命中一个。

include_keywords 标签关键词

include_keywords 从 TMDB 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"

keywords 的区别:

字段匹配来源适合场景
keywords标题、原名、英文名、别名片名中有明显词语
include_keywordsTMDB Keywords 标签题材、宇宙、风格、标签分类

组合示例:

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

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

第一条规则只要标题或 TMDB 标签命中任意一个即可。第二条规则必须是科幻,同时标题或标签至少命中一个。

TMDB 标签不一定每部影片都有,整理时没有拿到标签就不会命中 include_keywords。需要精确分类时可以用它;需要更稳的兜底时建议同时配 keywords

Series 系列分类

series_keywordsseries_actorsseries_directors 用于在分类命中后继续创建系列子目录。生成格式为:

text
分类名/命中的系列名系列

如果命中的词本身已经以“系列”结尾,就不会再重复追加。

示例:

yaml
movie:
  动画电影:
    genre_ids: "16"
    series_keywords: "哆啦A梦,名侦探柯南,蜡笔小新"

匹配结果:

text
标题含 哆啦A梦 -> 动画电影/哆啦A梦系列
标题含 名侦探柯南 -> 动画电影/名侦探柯南系列
是动画但没有命中 series_keywords -> 动画电影

纯 Series 规则:

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

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

纯 Series 规则没有其他必选或可选字段时,必须命中某个 series_* 字段才算匹配。命中后目录会变成:

text
成龙电影/成龙系列/...
诺兰作品/克里斯托弗·诺兰系列/...

混合 Series 规则:

yaml
movie:
  华语电影:
    production_countries: "CN,HK,TW"
    series_actors: "成龙,周星驰,刘德华"

  日本动画电影:
    genre_ids: "16"
    original_language: "ja"
    series_keywords: "哆啦A梦,海贼王,火影忍者,名侦探柯南"

混合规则里,普通字段决定是否进入主分类,series_* 只决定是否创建系列子目录。

text
华语电影 + 演员含成龙 -> 华语电影/成龙系列
华语电影 + 演员不含配置值 -> 华语电影
非华语电影 + 演员含成龙 -> 不命中这条规则

剧集示例:

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

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

  导演合集/孔笙:
    series_directors: "孔笙"

Series 匹配来源:

  • series_keywords:从标题、原名、英文名、别名等标题字段匹配。
  • series_actors:从演员列表前 6 位匹配 nameoriginal_nameenglish_name
  • series_directors:从导演列表前 6 位匹配 nameoriginal_nameenglish_name

路径分类

分类名可以直接写成路径,这样不需要依赖 Series 也能形成多层目录。

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

  华语/喜剧:
    production_countries: "CN,HK,TW"
    genre_ids: "35"

  动画/日本:
    genre_ids: "16"
    original_language: "ja"

剧集示例:

yaml
tv:
  剧集/国产:
    origin_country: "CN"

  剧集/韩剧:
    origin_country: "KR"

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

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

路径分类和 Series 可以叠加:

yaml
movie:
  动画/日本:
    genre_ids: "16"
    original_language: "ja"
    series_keywords: "哆啦A梦,名侦探柯南"

匹配结果:

text
电影/动画/日本/哆啦A梦系列/哆啦A梦:大雄的地球交响乐 (2024) {tmdbid-...}/...

建议路径层级控制在 2 到 3 层。层级过深会让 Emby/Jellyfin 扫库、人工排错和迁移目录都更麻烦。

电影配置示例

下面是一套偏实用的电影分类配置。你可以按自己的库删减。

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

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

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

  # 类型细分
  日本动画电影:
    genre_ids: "16"
    original_language: "ja"
    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"

  韩国电影:
    original_language: "ko"

  日本电影:
    original_language: "ja"

  欧美电影:
    original_language: "en,fr,de,es,it,nl,pt,ru"

  印度电影:
    production_countries: "IN"

  其他电影:

如果你希望按路径再细分,可以这样写:

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

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

  欧美/科幻:
    genre_ids: "878"
    original_language: "en,fr,de,es,it,nl,pt,ru"

  欧美/纪录片:
    genre_ids: "99"
    original_language: "en,fr,de,es,it,nl,pt,ru"

  其他电影:

剧集配置示例

剧集、动漫、综艺都在 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,UK"

  # 类型分类
  儿童动漫:
    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,UK,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"
    original_language: "ja"

  日本电影:
    original_language: "ja"

  其他电影:

演员或导演合集

适合维护个人作品目录。

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. 看规则顺序
    更具体的规则是否放在宽泛规则前面。比如 日漫 应该放在 日剧 前面,因为两者都可能是 origin_country: JP

  2. 看字段位置
    电影国家字段使用 production_countries,剧集国家字段使用 origin_country。NanShare 不再做旧字段转换,写错范围会直接校验失败。

  3. 看类型 ID
    genre_ids: "16" 是动画,不是“动漫国家”。动漫国家还需要配合 origin_countryproduction_countries

  4. 看关键词来源
    keywords 匹配标题字段,include_keywords 匹配 TMDB 标签。标题里没有、TMDB 标签也没有,就不会命中。

  5. 看 Series 行为
    混合规则里 series_* 匹配失败不会让主分类失败,只是不创建系列子目录。纯 Series 规则才必须命中 series_*

  6. 看 YAML 语法
    冒号后要有空格,缩进用空格,不要用制表符。

错误缩进:

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

正确缩进:

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

FAQ

分类顺序重要吗

非常重要。NanShare 命中第一条规则后就停止。建议顺序是:特定系列、特定演员导演、特殊类型、细分地区、宽泛地区、兜底分类。

空分类怎么写

两种都可以:

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

保存时 NanShare 会把空规则统一渲染成简洁格式,并移动到最后。

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

分情况。

纯 Series 规则只有 series_* 字段时,必须命中 Series 才匹配:

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

混合规则里有普通字段时,Series 只负责生成子目录,不影响主分类命中:

yaml
movie:
  华语电影:
    production_countries: "CN,HK,TW"
    series_actors: "成龙,周星驰"

华语电影即使命中不到成龙或周星驰,也会进入 华语电影

keywordsseries_keywords 有什么区别

keywords 是匹配条件,命中失败会导致这条规则失败。

series_keywords 是系列子目录生成条件。混合规则中它失败时,不影响主分类,只是不创建系列子目录。

需要“标题必须包含哆啦A梦才能进这个分类”,用:

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

需要“所有日本动画进分类,命中哆啦A梦时再建系列目录”,用:

yaml
movie:
  日本动画电影:
    genre_ids: "16"
    original_language: "ja"
    series_keywords: "哆啦A梦,Doraemon"

include_keywords 一定能命中吗

不一定。它依赖整理时拿到的 TMDB Keywords 标签。没有标签、标签语言不一致、标签不完整,都会导致不命中。建议重要分类同时配置标题关键词作为可选补充。

yaml
movie:
  特摄片:
    ?keywords: "假面骑士,奥特曼,超级战队"
    ?include_keywords: "tokusatsu,super sentai,kaiju"

能不能用 categories: 作为顶层

不能。NanShare 顶层只接受 movietv。写 categories: 会被校验为错误。

能不能写 >=2020 或正则

不能。年份只支持 YYYYYYYY-YYYY。关键词是包含匹配,不支持正则。

能不能写 year

不能。年份字段只支持 release_year。写旧字段 year 会校验失败。

电影能不能写 origin_country

不能。电影规则的国家字段只支持 production_countries,写 origin_country 会校验失败。

剧集能不能写 production_countries

不能。剧集规则的国家字段只支持 origin_country,写 production_countries 会校验失败。

多级目录需要提前创建吗

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

参考字典

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中文cn中文
en英语ja日语
ko韩语th泰语
fr法语de德语
es西班牙语it意大利语
pt葡萄牙语ru俄语
ar阿拉伯语hi印地语
vi越南语id印度尼西亚语
tr土耳其语uk乌克兰语
fa法斯语he希伯来语

常用国家地区代码

代码国家或地区代码国家或地区
CN中国内地HK中国香港
TW中国台湾MO中国澳门
US美国GB英国
JP日本KP朝鲜
KR韩国TH泰国
SG新加坡MY马来西亚
IN印度VN越南
FR法国DE德国
IT意大利ES西班牙
NL荷兰PT葡萄牙
RU俄罗斯UK英国别名
CA加拿大AU澳大利亚
BR巴西MX墨西哥
AR阿根廷CO哥伦比亚
NZ新西兰SE瑞典

快速上手模板

只想先跑起来,可以从这个精简模板开始:

yaml
movie:
  动画电影:
    genre_ids: "16"
  国产电影:
    production_countries: "CN"
  日韩电影:
    original_language: "ja,ko"
  欧美电影:
    original_language: "en,fr,de,es,it,nl,pt,ru"
  其他电影:

tv:
  国漫:
    genre_ids: "16"
    origin_country: "CN,TW,HK"
  日漫:
    genre_ids: "16"
    origin_country: "JP"
  综艺:
    genre_ids: "10764,10767"
  国产剧:
    origin_country: "CN"
  日韩剧:
    origin_country: "JP,KP,KR"
  欧美剧:
    origin_country: "US,GB,FR,DE,CA,AU"
  其他剧:

想进一步细化,再逐步加入 release_yearkeywordsinclude_keywordsseries_* 和路径分类。

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