active

Edge Search Lab:多语言站内检索实验

一个围绕静态站点的搜索实验项目,目标是在不引入后端服务的前提下提升检索质量与响应速度。

AstroFuse.jsTypeScript
// implementation slice status: "active" year: 2025 translationKey: "edge-search-lab"

Edge Search Lab 是一个面向内容站点的检索实验。
核心问题是:在纯静态部署条件下,如何让搜索结果“足够准”且“足够快”。

背景

项目最初的搜索体验存在两个问题:

  1. 标题命中不错,但正文相关性弱;
  2. 中英文混合索引导致结果噪音较高。

我们没有引入后端搜索服务,而是优先优化前端索引模型。

设计与实现

语言分片索引

构建阶段生成:

  • /search/zh.json
  • /search/en.json

页面只加载当前语言索引,避免跨语言干扰。

权重策略

搜索权重按内容语义分层:

  • title 最高
  • tags / tech 次高
  • description / excerpt 兜底

这种配置对项目型内容特别有效,因为技术词往往决定用户意图。

摘要抽取

正文不会全量塞进索引。
系统会清洗 MDX 并截取高信息密度片段,既控制体积,也减少噪声。

结果

  • 首屏结果反馈更稳定,空结果比例显著下降;
  • 移动端弱网下搜索可用性提升;
  • 维护成本保持在“内容新增即可自动索引”的水平。

下一步

  • 引入更细粒度的字段同义词映射;
  • 针对中文分词做可插拔优化;
  • 加入“最近发布”与“热门标签”混合召回策略。