标题与文件错位,通常不是导入失败,而是“标题来源”和“文件名来源”在导入环节被分别处理,导致两者不再指向同一篇内容。先不要批量重命名,应该先取一小批样本,把标题、文件名、正文首段和唯一标识放在一起比对,确认错位是整体偏移还是个别条目错配,再决定回滚导入还是修正映射。
整体偏移的典型表现是:第 2 条的标题对应第 1 条的文件,第 3 条的标题对应第 2 条的文件,依次顺延。这通常说明导入时有一行表头、空行或分隔行被当成数据,或者标题列与文件列各自被独立排序,排序基准不一致。
随机错配则表现为:大部分条目正常,少数条目的标题跑到了别的文件上,且没有固定位移规律。这更可能与标题重复、文件名重复、特殊字符被清洗、或导入工具按标题而非按唯一标识匹配有关。两种原因的修复动作完全不同,整体偏移可以按统一偏移量回退,随机错配必须逐条核对。
取 5 到 10 条样本,建立一张对照清单,至少包含四项:标题原文、文件名、正文首段的前若干字、以及该条目自带的唯一编号或原始行号。把四项并排列出后,观察哪两项始终一致、哪一项发生漂移。
如果唯一编号与标题始终对应,而文件名与编号不对应,那么映射关系在“编号到文件”这一步断开了,而不是标题本身被写错。这个判断会直接改变下一步:前者应重建文件名与编号的映射,后者才需要检查标题生成逻辑。
标题可能被改写、截断或去重,文件名可能被重命名、加前缀或转码,两者都不适合作为匹配主键。核对对应关系时,应优先使用导入前就存在且不参与展示的字段,例如原始行号、内容 ID、创建时间或源文件内的固定序号。
假设一批内容共 200 条,导入后抽样发现第 50 到 60 条的标题整体后移了一位。如果这 11 条的唯一编号仍然连续且与正文首段吻合,那么可以推断是标题列在写入时插入了一行空值,而不是文件被替换。此时的动作是定位插入点并删除该空值,再重新核对第 49 到 61 条;如果删除后编号与标题恢复一致,就说明偏移只发生在标题列,文件列无需改动。这个假设例子说明的是比较方法,不代表任何具体工具的实际行为。
修正动作完成后,不要只看修正过的那几条。应重新抽取三类样本:原错位区间的前一条和后一条、含特殊字符的条目、以及标题与文件名原本就高度相似的条目。三类都通过,才能认为映射恢复。
确认时还要注意,导入前后如果搜索需求或内容本身发生了变化,单看某几项指标下降或上升不能直接证明错位已修复或恶化。请求量、抓取量归零也可能来自采集延迟、权限变化或缓存,而不是对应关系本身。把“标题与文件是否指向同一篇内容”作为独立检查项,与流量表现分开判断,才不会把两件事混为一谈。
如果核对后确认是随机错配而非整体偏移,就不要再尝试用统一规则批量修复,而应回到导入前的源数据,以唯一编号为准重建标题与文件的对应表,再整批替换。这一步做完后,重新抽样验证编号、标题、文件名、正文首段四者一致,才算真正闭环。