【AIGC】给站内搜索接上语义检索:关键词先出、向量后到,命中的卡片挂一条 Embed 缎带
起因:搜索框不认识同义词 站内搜索一直是 PaperMod 自带的 Fuse。它做字面匹配,好用、快、零成本,但只认字。 我搜「照片怎么传上去」,答案是《图片上传》——它对不上。搜「多个人分密钥保管」,正解是《Shamir 秘密共享方案》——它也对不上。这不是参数没调好,是方法本身没有这个能力:字面匹配不知道「照片」和「图片」是一回事。 所以真正的需求是四条,写下来免得做着做着跑偏: 近义 / 口语化的说法也能命中; 输入即出关键词结果,不能为了语义把首屏拖慢; 两种结果合成一个列表,不能是「关键词一段、语义一段」; 语义那层挂掉时,搜索依然可用。 先定分工:谁快谁先出 先把两条路的速度量出来,再决定怎么拼: 路径 耗时 成本 依赖 Fuse 字面匹配 ~220ms(含 120ms 去抖) 0 本地,索引 850KB 随页面加载 语义向量 ~1.0s(模型 100–300ms,其余是链路) 极小 一次跨网请求 差了五倍,那就别争谁替代谁:关键词永远先渲染,语义结果到了再合并。语义慢、语义挂,都不影响你已经看到的那一屏。 ...