静态中文搜索接口核查
记录当前版本的接口与实现依据,以及受控样本的召回结果。
核查于
调查条件
调查和测试日期均为 2026-10-02。
测试版本为 Fumadocs Core 16.15.18 与 ZBSearch 4.0.1。
环境为 Node 24.12.0、Darwin 25.5.0、pnpm 10.24.0。
方法包括官方文档核对、安装源码阅读与独立样例代码测试。
本报告尚不包含浏览器运行观察。
独立样例名称为 fumadocs-static-search。
结论小结
按官方要求配置静态或预渲染路由后,可随站点导出索引。
客户端使用 staticClient 加载索引并查询。1
受控代码测试通过:十个查询中至少九个命中目标页面,微调与量化均命中。
样本与方法
样本为三篇短文档,各有一个正文块,没有页内小节标题。 页面标题仍参与索引。 下表列出完整正文与用于判定的样本 URL。 这些路径属于实验数据。
| 标题 | 样本 URL | 正文 |
|---|---|---|
| 模型适配 | /research/model | 注意力机制用于处理上下文。微调适配模型。LoRA 是参数高效方法。大模型微调需要定义任务。 |
| 推理资源 | /research/inference | 量化改变数值表示。KV cache 保存注意力计算的中间状态。 |
| 知识检索 | /research/retrieval | RAG 结合检索与生成。检索增强生成需要可靠来源。Next.js 静态导出可携带索引。中文 搜索需要验证分词召回。 |
通过 createSearchAPI('advanced', ...) 建立高级索引,采用默认多语言分词。
调用 staticGET 导出 JSON 后,让官方 staticClient 重新加载。
Node 中的 fetch 返回这份固定数据,没有替换搜索算法。
此步骤验证索引导出与加载,未执行框架路由预渲染或浏览器请求。
每个查询从原始结果列表取前三项,去掉 URL 的锚点后与目标路径比较。 其中任一项匹配即记为命中,不先按页面去重。 本报告所说的召回,限于这个目标页面命中规则。
| 查询 | 目标样本 URL |
|---|---|
| 注意力机制 | /research/model |
| 微调 | /research/model |
| 量化 | /research/inference |
| KV cache | /research/inference |
| LoRA | /research/model |
| RAG | /research/retrieval |
| 大模型微调 | /research/model |
| 检索增强生成 | /research/retrieval |
| Next.js 静态导出 | /research/retrieval |
| 中文 搜索 | /research/retrieval |
测试断言要求至少九个查询命中,并单独要求微调与量化命中。 通过日志支持这个下界,没有记录各查询的精确排名。
2026-10-05 的代码复核
本轮在仓库运行 pnpm --filter @doc-test/search-check check:code,类型检查与一项受控搜索测试通过。检查了当前的三篇样本、十个查询和断言,它们保持以上口径;客户端源码与锁文件仍为 Fumadocs Core 16.15.18 / ZBSearch 4.0.1。测试没有逐查询成功输出,因此本轮仍报告至少九个的下界,不推定精确排名或十个全中。
本轮另读取本站 api/search/route.ts,确认其设置 dynamic = 'force-static'、revalidate = false 并导出 staticGET,与官方静态模式接口相符。独立搜索样本测试只检验固定数据;完整站点构建和公开范围检查属于发布检查,不会把样本结果变成全站检索质量评测。
缺口清单
真实内容集的召回与排序、较大索引的下载成本尚未评测。 浏览器加载、键盘选择和跳转尚未验收。 这些结果不能由三篇样本的 Node 测试推定。
Footnotes
-
Fumadocs,Built-in Search · Static Mode,原核查于 2026-10-02,静态模式接口于 2026-10-05 再次核对。 ↩
最后更新于