Pagefind:静态站也能有全文搜索
399 字
2 分钟
Pagefind:静态站也能有全文搜索
🔍 静态站的搜索难题
搜索通常需要服务器:你输入关键词,服务器去数据库里查,返回结果。
但静态站只有一堆 HTML 文件,没有服务器可以问。怎么办?
🧩 思路反过来
Pagefind 的做法很聪明:构建的时候就把索引做好。
你在本地跑构建,它扫描所有页面的正文,生成一份压缩过的索引文件,跟网页一起发布。用户搜索时,浏览器按需下载那一小片索引,在前端完成查询。
不需要后端,不需要数据库,不需要按月付费的搜索服务。
⚡ 为什么它轻
关键在”按需”。
索引是按块切分的,搜一次只下载几十 KB,不会把整个站的索引都拉下来。所以哪怕文章涨到几百篇,搜索依然是秒出。
对中文也支持,可以按词切分。
🛠 接入有多简单
Astro 这类框架基本是装个插件、构建时自动跑一遍的事。它会在输出目录生成 pagefind/ 文件夹,页面里引一下 JS 就行。
唯一要注意的是:它必须在生成 HTML 之后运行。也就是说构建流程里顺序不能错,先出页面,再建索引。
🪵 一点感受
我现在搜自己三个月前写的东西,一两秒就出来了。
在这个站上没有阅读量统计、没有后台,但有个能用的搜索框——这就够了。工具不必复杂,解决问题就行。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
把静态站放到 Cloudflare 上遇到的几个小坑
技术部署很顺,但有几个细节折腾了我一阵,记下来免得下次再踩。
2
静态博客的评论系统怎么选
技术giscus、Twikoo、Waline、Disqus 各自适合谁,以及我最后为什么选了 giscus。
3
Git 提交信息怎么写才不后悔
技术三个月后回看自己的提交记录,一半看不懂在干嘛。于是认真改了写法。
4
RSS 还没死
技术用了半年 RSS 之后,我重新拿回了「看什么」的决定权。
5
给博客做定时发布
技术静态站没有定时发布功能,我用 GitHub Actions 每天跑一次,把到期的草稿自动转正。
随机文章随机推荐














