批量导入几万篇文档前要先确认哪几件事
批量导入几万篇文档前要先确认哪几件事?答案是四件:字段映射是否固定、同题文档怎么处理、分批节奏怎么切、导错之后怎么回退。这几件在动手前定清楚,导入才不会变成返工。AnQiCMS 支持 ZIP 压缩包与 Excel 表格批量导入文档,也提供文档内容导入接口用于程序化批量入库,容量不是问题,问题几乎都出在导入之前的准备上。
导入前先定字段映射
字段映射指「源数据的每一列对应系统里的哪个字段」,这一步要用文档写死,不能靠现场判断。常见的映射错误有三类:把摘要当成了正文的第一段自动截断、把多级分类压成一个字符串导致分类树对不上、标签列里同义词没有归一导致标签数量爆炸。
建议按下面的表逐项确认后再动手:
| 目标字段 | 确认要点 | 出错后果 |
|---|---|---|
| 标题 | 是否含编号、重复空格、多余后缀 | 同题判断失效,出现重复页面 |
| 正文 | 图片路径是否一并导入 | 导入后大面积裂图 |
| 分类 | 多级分类如何对应分类树 | 内容落到错误栏目 |
| 标签 | 是否已与关键词库对齐 | 同义标签膨胀 |
| 摘要与关键词 | 是否留空由后续补齐 | 搜索展示效果下降 |
| 发布时间 | 用原始时间还是导入时间 | 内容时效性错乱 |
| 状态 | 直接发布还是先入草稿 | 未核对内容直接对外 |
最后一行尤其重要。几万篇一次性置为正式文档,等于把整站的收录与展示同时押在一次未经核对的批量操作上;更稳妥的做法是先以草稿或待发布状态入库,抽样通过后再批量转正式。
查重与同题冲突怎么处理
批量导入最容易发生的是「同标题重复入库」,来源通常是历史导入过一遍但记录没留下。AnQiCMS 提供文档内容导入接口 /api/import/archive,这条接口支持按标题查询文档是否已存在,用途正是批量导入前的查重。
落地顺序建议这样安排:先把待导入的标题清单跑一遍查询,分成「已存在」与「不存在」两组;已存在那组明确处理策略(跳过、更新还是另存),不存在那组才进入导入队列。这一步看似多花时间,实际省掉的是导入之后人工清理重复页面的成本。
同题策略里,「更新」意味着覆盖既有正文,风险最高,务必先做备份;「跳过」最安全但可能造成内容缺口;「另存」会产生结构相似的页面,后续还需要重定向归并。多数场景下,用「跳过 + 人工复核清单」组合最可控。
分批导入的节奏
一次性提交全部文档,出问题时的定位面太大。按栏目或时间切成批次,每批完成后做一次抽样核对,再决定是否继续。
- 批次大小:以能在短时间内抽完样的量为限,而不是以系统能承受的量为准;
- 批次顺序:先跑长尾内容,把核心页面留到最后,这样前面几批已经把映射问题暴露完;
- 批次记录:每批记下文件、条数、结果与抽样结论,形成可追溯的台账;
- 间隔观察:每批完成后看一眼抓取与访问情况,异常先停手。
导入前留一个回退点:AnQiCMS 支持数据与静态文件的备份和恢复,一次完整备份能同时把内容库和已生成的静态资源带回去,比事后逐条撤销可靠得多。
导错了怎么恢复
恢复分两个层级。单篇或小范围错误走回收站:文档删除是移入回收站而非物理删除,已删除文档可以恢复,配合草稿与待发布状态,能在不影响整站的情况下把错误内容暂时撤下。
大范围错误走备份恢复。判断标准是「错误是否跨越多个批次、是否影响分类与标签结构」。如果是,逐条修正的时间成本通常高于直接回到导入前的备份点,再重新按修正后的映射导入一次。
恢复之后还有两件事要做:一是核对站点地图(sitemap)与链接推送状态,确保对外提交的内容清单与实际一致;二是把这次暴露出的映射问题写回上文的确认表,下一批不会再犯同样的错。
常见问题
Excel 和 ZIP 该选哪种?
结构化字段多用 Excel,正文与附件关系复杂、需要保留目录结构时用 ZIP。两者可以混用:先用 Excel 建结构与元数据,再用 ZIP 补正文与图片。
导入过程中能同时发布吗?
不建议。批量写入与对外服务同时进行时,未核对的页面可能在抽样完成前就被抓取收录,先入库为草稿再统一转正式更可控。
几万篇会不会拖慢站点?
主要压力在导入窗口而不是长期运行。避开访问高峰分批执行、导入后检查一次缓存与静态文件生成状态,比担心容量更实际。