核对比赛记录重复项,不能只比较两条标题是否相同,而应依次检查赛事身份、赛季与轮次、参赛双方、计划时间、场地和比赛状态。同一场比赛可能因改期、简称差异或数据源更新而出现多条记录;相同球队也可能在短期内参加联赛、杯赛或不同回合。正确做法是先建立候选关系,保留原始记录,再根据稳定字段决定合并、关联还是继续分开。
建立比赛身份字段组合
最可靠的内部比赛编号并非所有页面都会展示,因此需要使用字段组合辅助判断。赛事全名、赛季、阶段、轮次、主客队身份和开赛时间构成基础身份。中立场比赛要额外记录名义主队与实际场地;两回合赛事还应标明首回合或次回合。仅凭日期和队名匹配,容易把青年队、女子队或同名俱乐部混在一起。
队名应保留原始写法,同时建立规范化别名。规范化可以处理空格、大小写和常见简称,却不应删除年龄组、性别、预备队等具有身份意义的后缀。时间字段要带时区;若一条记录使用当地时间,另一条使用越南时间,转换到同一时区后再比较。状态字段如计划、延期、取消、进行中和完场,也要与时间一起阅读。
- 赛事名称、赛季、阶段与轮次必须分别存储。
- 保留主客顺序,不把两队名称简单排序后覆盖。
- 时间记录包含时区和原始显示值。
- 场地同时记录名称与是否中立场。
- 保存来源标识、抓取时间和最后修订时间。
区分重复、改期与相似比赛
如果参赛双方、赛事阶段和唯一编号一致,而时间不同,应优先检查是否为改期版本,而不是立即判为两场。若旧记录显示延期、新记录给出新时间,两者可能属于同一比赛的两个版本,适合关联到同一身份并保留时间变更。若轮次、赛事或主客关系不同,即使队伍相同,也更可能是独立比赛。
杯赛重赛、系列赛多场和短期连续交锋尤其需要谨慎。篮球系列赛中双方可能数日内多次比赛;足球主客场淘汰赛则可能标题几乎相同。此时应查看场次编号、回合标签、场地和实际开始时间。无法确认时,不要自动删除,可标记为待核对,并避免在公开摘要中把候选关系说成事实。
安全处理字段冲突与合并
确定为同一比赛后,也不应直接用新记录完整覆盖旧记录。先逐字段比较:最终比分和完场状态通常以较晚且经过复核的版本为准;原计划时间、延期公告和先前场地则属于变更历史,应继续保留。若两个来源在比分、参赛方或比赛状态上发生实质冲突,应暂停自动合并,等待更明确的记录。
- 生成候选重复组,不改动原始条目。
- 统一时区和队名别名,但保留原值。
- 逐项核对赛事、轮次、双方、场地与状态。
- 为确认相同的记录指定一个稳定身份键。
- 保存合并日志、字段来源与可回滚版本。
公开页面可以只展示当前有效版本,但后台应能追溯每次变化。这样遇到赛后更正、技术故障或误合并时,能够说明哪一字段在何时被替换。若删除重复项会让旧链接失效,应优先保留旧路径并指向同一内容身份,而不是制造多个互相矛盾的页面。
常见问题
标题完全相同就能自动合并吗?
不能。标题可能省略轮次、年龄组或回合信息,必须再核对赛事身份、双方、时间和场地。
改期前后的记录应该保留几条?
可对外展示一条当前记录,但内部应保留原计划时间和修改历史,并让两个版本关联到同一比赛身份。
比分冲突时以更新时间最新的为准吗?
不应只看更新时间。还要确认比赛状态、来源复核程度和是否包含加时等口径;冲突未解决时应标记待核对。