开了十年博客,文章一点点攒下来,最尴尬的时刻来了:明明记得自己写过某句话,却怎么也翻不到。浏览器自带的站内检索时灵时不灵,第三方搜索要么收费,要么要塞一段外部脚本——而独立站的体面,恰恰在于不把命脉交到别人手里。于是我决定自己动手,给小站攒一个轻量的站内搜索。 我的方案朴素到有点寒酸:构建阶段把每篇文章的标题、摘要和正文抽成纯文本,生成一份 search.json 丢进静态目录;前端用几十行原生 JS 加载它,按关键词做包含匹配,再把命中片段高亮展示。没有服务器,没有数据库,纯前端就能跑,丢到任何静态托管都一模一样地工作,连 EdgeOne 都不用特殊配置。 真正费心思的是体验细节。中文不能靠空格分词,我就做子串匹配,再按命中次数排序;搜索框加了防抖,输入停顿才触发,免得每次按键都扫一遍全表;结果里把关键词标红,让人一眼看到上下文。整套不到两百行代码,却把"找自己"从翻页变成了秒回,写作者最在意的那种踏实感回来了。 如果你也在经营小站,别被"搜索引擎"四个字唬住。对几百篇文章而言,一份 JSON 加一段脚本,已经足够体面。工具够用就好,重要的是让多年攒下的文字,能被你自己随时、安心地召回。与其等一个完美的方案,不如先让搜索框亮起来——能用,就比没有强。