先给结论:格式变化时不要直接改历史输入,而是把“可接受对象”重新定义成一份可核对的输入规范,再决定是保留旧格式、增加转换层,还是强制迁移。判断依据不是工具提示了什么新格式,而是你的查询事实是否还能被不同角色一致理解。
搜索量查询里,对象格式通常指查询对象的写法,例如一个词、一组词、带引号的短语、带地区或语言限定的组合。输入规范则指你交给工具或交给执行人员的字段约定:一行一个对象、用逗号分隔、用制表符分列,还是用键值对描述。
格式变化最容易引发的分歧是:产品认为“搜索量查询”查的是词,运营认为查的是页面主题,数据方认为查的是带条件的对象集合。三者说的不是同一个事实,却共用一份输入文件,结果就是同一批数据被反复解释。
一个可区分的证据是:如果去掉格式外壳后,对象本身仍能被唯一识别,那变化只是输入表达变了,改规范即可;如果去掉外壳后对象含义发生改变,那就是对象格式变了,必须重新定义字段和适用范围。
当旧输入和新输入指向同一批对象,只是分隔方式、字段顺序或包装符号不同,优先保留旧文件,在入口处加一层转换。动作是写一份映射说明:旧字段对应新字段,空值怎么表示,重复对象如何合并。
这样做的结果是,历史查询可以继续核对,新格式也不会污染原始记录。下一步只需要验证转换后的对象集合与转换前是否一一对应,而不是重新跑一遍全部查询。
如果新格式要求把“词”改成“词加地区加语言”,或者把短语拆成主题加限定,那么旧输入已经不能表达同一事实。此时应停止在旧规范上打补丁,改为强制迁移。
迁移不是删掉旧文件,而是保留一份对照表:旧对象、新对象、迁移理由、无法迁移的例外。这样当不同角色对同一事实有不同理解时,分歧可以落到具体行上核对,而不是停留在口头争论。
<对象>|<地区>|<语言>,并注明假设。完成这四步后,下一步不是立刻扩大查询范围,而是先让至少两个角色按新规范各查一次,看返回的对象集合是否一致。若不一致,问题仍在规范定义,不在工具。
有些格式变化只影响展示,不影响查询对象,例如导出时列顺序调整。这类情况不必改输入规范,只需在交付说明里注明列含义。
另一些变化来自工具自身对对象的解释方式,具体支持哪些格式、是否保留旧写法,需要以你实际使用的工具说明为准,不能仅凭一次报错推断。若查询量、抓取量或某项统计突然归零,也不能单独证明迁移正确,还要检查对象是否被截断、条件是否被默认值覆盖。
最后,输入规范应服务于核对,而不是服务于好看。只要对象能被唯一识别、例外能被单独列出、不同角色能按同一份说明复现,格式变化就只是一次规范更新,而不是一次数据事故。