先给结论:不要凭文件名猜对应关系,也不要凭标题相似度直接批量改名。可执行的最小动作是——从错位样本中挑出三到五条,按“导入顺序号、标题字段、文件标识”三列做一张对照表,再用一条已知正确的记录反推错位发生在哪一步。这样即使没有完整数据库权限,也能判断问题出在导出环节、字段映射环节,还是导入工具的排序环节。
假设你从旧站导出了一批文章,每条记录包含标题、正文和一张配图。导入新系统后,你发现“如何写第一版落地页”这个标题下面挂着一张产品包装图,而“包装设计避坑”的标题下反而是落地页截图。此时最容易被误判为“文件损坏”,但更常见的原因是导入时按文件名排序,而标题是按另一个字段顺序写入的,两套顺序在中间某条记录处发生了偏移。
判断依据是:如果错位呈整体平移,比如第 N 条标题配了第 N+1 个文件,那多半是排序或索引起点问题;如果只有零星几条错位,则更可能是某几条记录的文件标识为空或重复。前者可以靠顺序号核对,后者必须回到源数据找空值。
这三步的价值在于:你不需要导出全库,也不需要改动线上数据,就能把“错位”缩小到一个可命名的原因。反过来,如果跳过锚点直接批量改名,很可能把原本正确的记录也改乱。
导入后某条记录的标题变空、文件数为零,或者导入日志里某个字段的计数归零,这些都不能单独证明对应关系已经修复。合理解释至少还有三种:该字段本来就在源数据里缺失;导入工具在遇到特殊字符时跳过了该行;权限限制导致你看到的计数只是当前视图的统计,而不是全量结果。
同样,一次调整后错位数量减少,也不能直接归因于你的改动。如果调整前后跨越了不同的导入批次、不同的模板版本,或者源文件本身被重新导出过,那减少可能来自批次差异,而不是你的核对方法生效。比较稳妥的做法是:在同一批源文件、同一模板下,只改一个变量,再看错位样本是否归位。
确认原因后,建议在导入模板里保留一列稳定的文件标识,而不是依赖标题或文件名排序。标题可能被编辑,文件名可能被重命名,只有独立标识不会随内容改动而变。如果当前系统不支持新增标识列,退一步的做法是在导入前按顺序号生成一份对照清单,导入后逐条抽查首、中、尾三段。
需要说明适用条件:这套核对方法针对的是“标题与文件错位”这一具体现象,前提是你能拿到源数据中的顺序号和文件标识。如果源数据本身就没有稳定标识,那能做的只是缩小错位范围并记录已知正确的锚点,不能保证全量对应关系正确。此时更现实的动作是分批导入、分批核对,而不是一次性导入后靠肉眼排查。
最后,核对对应关系只是恢复内容结构的第一步。错位修正后,标题、正文和文件是否指向同一个主题,仍需要按内容本身判断,而不是只看顺序号是否连续。