先不要批量改标题。把导入结果与原始文件按同一唯一标识重新对齐,确认是“显示层错位”还是“数据层串行”,再决定是回滚重导还是逐条修正。判断依据只有一个:随机抽若干条记录,看标题、正文首段、文件名(或文件内唯一编号)三者是否指向同一实体。
导入后标题与文件错位,常见成因分两类,处理方式完全不同。
判断动作:从导入结果里随机抽10条,逐条打开详情页,记录“标题—正文首段—原文件名”三者是否同源。如果10条全部同源,问题在显示层;只要有1条不同源,按数据层串行处理,停止在列表页做任何批量修改。
如果导入前的文件(CSV、Excel、XML或单文件命名)里带有稳定唯一编号,核对就有一个不依赖标题的锚点。
这个动作的结果直接决定下一步:只有标题错,可以只重导标题字段;整行串位,必须整批回滚后重导,逐条手改会把错误固化进数据库。
假设例子:原始文件有编号001–500,导入后发现编号037的标题变成了编号038的标题。若037的正文首段仍属于037,说明只是标题列在导入时错位一列;若037的正文首段也属于038,说明整行偏移。前者修字段映射,后者修排序规则。
如果原始文件只有标题和正文、没有编号,标题本身又可能重复或近似,就不能拿标题当锚点,否则核对结果不可信。
可行做法是临时构造锚点:取正文首段的前若干字符(例如前20个非空白字符)作为指纹,与导入结果中的正文首段做匹配。匹配上的,再看标题是否一致;匹配不上的,单独列出人工确认。
这个动作会暴露一个关键信息:如果大量记录连正文指纹都对不上,说明导入过程发生了整体位移,此时逐条核对成本远高于回滚重导。例外是正文首段本身重复率极高(如模板化开头),指纹会失效,这时应改用正文中段的特征句或文件修改时间组合判断。
核对的目的不是把所有标题改一遍,而是确认对应关系是否成立。对应关系成立后,标题是否要改是另一个问题:只有标题与正文主题明显不符、或标题重复导致无法区分时,才需要改。对应关系不成立时,任何标题优化都是无效动作,因为改的可能是别人的标题。
一次导入修正前后做比较时,要注意搜索需求本身可能随季节变化,数据采集口径也可能因去重规则不同而不同,这些都会影响你看到的数字,不能单独归因于这次修正。核对完成、对应关系确认无误后,再进入标题与摘要的常规检查,顺序不能颠倒。