先停止在导入结果界面里凭感觉拖动标题,改为回到源文件与导入记录之间做双向核对:给每个文件算出可复现的标识,再让标题和文件通过这个标识重新配对。错位通常不是标题本身写错,而是配对键在导入环节被改写、截断或重复。
标题与文件错位有两种性质完全不同的情况,核对方式也不同。
第一种:标题内容正确,只是挂到了相邻文件上。典型证据是每一条标题都能在源文件里找到,只是顺序整体前移或后移了一位,或者同批文件内部的顺序被打乱。这类问题多出在批量导入的排序规则上,比如按文件名排序和按修改时间排序结果不同,而导入工具默认用了后者。
第二种:标题被替换、截断或合并。典型证据是某些标题在源文件里根本不存在,或者两条标题拼成了一条,或者标题里出现了另一个文件才有的字段。这类问题多出在解析环节,比如分隔符选错、编码不一致、多行字段被当成新记录。
区分方法很直接:随机抽十条,逐条去源文件里搜标题原文。能搜到,说明是排序或映射问题;搜不到或搜到多处,说明是解析问题。这一步的结果决定后面走哪条路,不要跳过。
肉眼比对在几十条时还能用,上百条就不可靠了。更稳的做法是给每个源文件生成一个配对键,导入后逐条验证标题是否仍指向同一个键。
配对键的选择有取舍:
实际操作时,可以先用文件名做第一轮配对,把能对上的先锁定;对不上的再用内容字段复核。假设一批文件里有两百条记录,第一轮用文件名配对后剩十五条对不上,这十五条里如果有一半是文件名含空格被导入工具去掉了,那就属于可预期的改名,而不是真正的错位。
验证动作本身会改变下一步:如果配对键在导入后全部保留,说明问题只在展示顺序,改排序规则即可;如果配对键大量丢失,说明要先修导入流程,再谈标题修正。
条件一:导入工具允许导出映射表。优先导出映射表,在表里做机器比对,而不是在界面上逐条看。映射表通常包含源标识和目标字段,把标题列与源文件标题列并排,用公式或脚本找出不一致的行。这个顺序的代价是需要一次导出,收益是能一次性定位全部错位,而不是修一条漏一条。
条件二:工具不提供映射表,只能看导入结果。这时改为抽样加区间定位:先抽首条、末条和中间若干条,确认错位是整体偏移还是局部混乱。如果是整体偏移,找出偏移量后按区间修正;如果是局部混乱,把混乱区间单独导出,缩小范围后再逐条核对。不要在没有定位区间的情况下从头到尾改一遍,那样很容易引入新的错位。
两种条件的共同点是:先确定错位模式,再决定修正粒度。整体偏移用批量位移解决,局部混乱用逐条重配解决,混用会浪费时间。
有几种情况,改标题不是正确动作。
另外,如果同批内容在导入前后还伴随搜索需求本身的波动,比如某类问题的关注度在同期变化,那么导入后表现的变化不能直接归因于标题配对。核对时应把配对正确率和表现指标分开记录,先确保配对正确,再看表现,避免把两件事混在一起判断。
多个角色对同一批内容有不同理解时,分歧往往不在结论,而在各自看到的字段不同。把分歧转成可核对的项目,做法是:列出每个角色认为正确的标题与文件的对应关系,标出分歧条目,只对这些条目回到源文件复核。一致的部分不再重复讨论。
具体动作可以是这样:先由一个人按配对键生成一份对照清单,再由另一个人只核对清单中标记为不一致的行,核对时以源文件原文为准,不以任何一方的记忆为准。核对完成后,把确认的配对关系写回导入配置,而不是只修这一次的结果,这样下一次导入同类内容时错位会减少。
如果复核后发现错位集中在某一类文件上,比如文件名含特定字符或结构略有不同的那批,那么下一步应该是调整导入规则或统一源文件命名,而不是继续逐条修补。逐条修补能解决当前批次,但解决不了下一批。