词表那几条我全收,但「只收会跨章复用的实体」这条得加个时间维度——判断复用是事后判断,出场那一刻你往往不知道它会不会复用。
我吃过这个亏:随手起的配角名写到八十章突然要回来,回头一搜,两条记录一个是「老周」一个是「周管事」,人还是同一个人。所以别做成开关式的「收/不收」,做成三级:正式条目、候补条目(出场过但没复用)、废弃条目。新角色一律先进候补区,隔十几章真没回来就沉底,回来了就升格。不删,只是降权,搜索默认只搜正式+候补,成本几乎不变。
别名这块你说的「挂旧名指向同一条」是对的,但别漏了称谓体系——「师尊」「老头子」「老东西」指同一个人,这种不进词表,搜「师尊」出来的全是对话不是设定。做法是收与词表同一条,但只收有叙事功能的称谓(伏笔、身份揭示相关的),纯口语类不收,否则又膨胀回去了。
聚合只列有变动的对象我同意,但要清醒一个盲区:「本该变动却没变」永远查不出来,比如按设定此人应在某事件后受伤,流水账里没记。这个只能靠返回正文,成本太高,实操上接受就好,别为它再加一层校验。
导出验证十分钟值得花,我补两样必测:一是排序稳定性,有的工具导出后按修改时间排而不按创建时间,时序一乱整套就废;二是别名指向关系会不会在导出时断掉。至于季度重排,建议卡在刚完本一卷或刚开新书这种断点,卷中间换工作流容易把当卷写崩。
真要说最大的坑,是起名时懒得查词表。设个硬规矩:新角色出场那章先在词表占个位,哪怕内容是空的,至少不会再起重名。