选型指南 架构设计 含可复制代码

检索的「新鲜度」治理:增量索引与过期标注

目录层用 SSG 加 ISR 拿收录,工具层用一份 JSON Schema 承接 91 个站内工具,密钥、计费与限流全部收口在国内业务后端,模型调用统一走一层薄适配。这篇把我们真实的目录结构、Schema 字段定义、路由闸门、预扣结算伪代码和合规清单完整摊开。

陈
陈默架构组
2026-09-28 · 14 分钟阅读 · 8,432 次浏览

让用户看到资料时间,而不是假装资料是新的。

检索的"新鲜度"是持续问题

文档在更新、产品在改版、政策在变。检索系统如果只在"建库时"读一遍 ✗,

就会逐渐给出过期答案 ✗,而且很难被发现 ✗(用户只看到"答案不对",看不到"资料是去年的" ✔)。

新鲜度治理有两件事:增量更新与过期标注 ✔。

一、增量索引(不要每次全量重建)

· 按变更源驱动:文档更新 → 只重跑受影响文档的解析/切分/嵌入 ✔;

· 保留文档版本:每次变更生成新版本,索引里记录 doc_version ✔;

· 删除要同步:文档下线必须从索引移除 ✔(否则会检索到已删除内容 ✗);

· 全量重建定期做(例如每月 ✔)用于纠正长期漂移 ✔。

全量重建要能并行灰度(新索引与旧索引并存,切流后再删旧索引 ✔),否则重建窗口就是事故窗口 ✗。

二、过期标注(比"删除"更实用)

很多内容不是"错",而是"旧" ✔。做法:

· 索引里带发布时间与有效期(若有 ✔);

· 检索结果按时间排序或加权(见排序那篇 ✔);

· 回答里标注时间 ✔: "该说法来自 2024-03 的文档" ✔;

· 超期内容降权但不删除 ✔(历史信息仍可能有用 ✔)。

关键是让用户看到时间 ✔ —— 而不是让系统"假装资料是新的" ✗。

三、该观测的三个指标

1. 索引滞后时间(文档更新到可检索的延迟 ✔)—— 这是最实用的新鲜度指标 ✔;

2. 过期命中率(检索命中超过 N 天的片段占比 ✔);

3. 删除残留(抽查已下线文档是否还能被检索到,应为 0 ✔)。

四、两个常见坑

· 只更新正文不更新元数据 ✗ → 排序与筛选用的时间字段仍是旧的 ✔;

· 重建索引时忘了清缓存 ✗ → 用户仍拿到旧答案 ✔(缓存键要含索引版本 ✔,见缓存与可复现那两篇 ✔)。

五、落地顺序

1. 先给索引加 doc_version 与 published_at ✔;

2. 做按变更的增量更新(先做"新增/更新",删除随后 ✔);

3. 回答里加时间标注 ✔;

4. 加索引滞后时间指标与删除残留的定期抽查 ✔。

一条判据

> 随机抽 10 条回答,能否说出每条依据的资料时间 ✔?

> 说不出,就说明"时间"还没有进入检索与展示链路 ✗。

本文由云枢 AI导航整理,内容以官方来源为准。

相关文章

顺序阅读

← 上一篇:把「人工兜底」设计好:什么时候转人、转给谁
下一篇:用线上反馈改进系统:回填成评测与标注资产 →

第 65 / 171 篇

术语速查 · 本页出现的 12 个词展开看中文名与一句话解释,点术语看完整条目
  • token词元:模型处理文本的最小单位,中文约 1–2 个汉字;计费与上下文长度都按它算。
  • 转写 / 字幕Transcription:把音视频人声逐句变成带时间戳的文字稿,便于做字幕与章节切分。
  • SSE服务器发送事件:服务器通过长连接持续推送增量文本,是对白逐字出现的常见实现。
  • API应用编程接口:程序之间约定的调用方式;站内工具由服务端调用,浏览器里不出现密钥。
  • CDN内容分发网络:把静态资源缓存到离用户更近的节点,缩短加载时间。
  • 缓存Cache:把结果暂存复用,复用得越多平均耗时越低;需要约定过期与刷新策略。
  • 限流Rate Limit:限制单位时间内的请求次数,防止单用户或异常流量打满服务端。
  • SSG静态站点生成:构建阶段就生成 HTML,访问时直接返回,不必每次请求都渲染。
  • ISR增量静态再生:先返回静态页,再在后台按需重新生成,兼顾速度与更新时效。
  • 灰度发布Canary Release:先让一小部分用户用新版本,确认无误再放量,出问题的爆炸半径最小。
  • 提示词Prompt:交给模型的指令文本;写清角色、任务、输入与输出格式比反复试更省。
  • 积分Credits:站内计费单位:按工具单价预扣,调用失败自动退还;单价以定价页为准。

完整解释与站内出现处见 AI 术语表(40 条)。