Hexo -35- 搜索功能 Local Search 加速

2022-08-04 14:04:03 浏览数 (1)

于我来说,Hexo 的 本站搜索 是绝对的刚需功能,但默认的搜索构建方式比较慢,本文记录提速的思路。

背景

  • 有国内备案域名、还觉得搜索加载慢的的同学不要看这篇博客,去做博客的 CDN 加速就好了
  • 对于没有备案域名,服务器在国外(vercel github 等),且加载数据不那么快的情形下,需要做搜索的加速

加载缓慢的原因

  • 搜索插件需要加载 数据极小,基本不占用时间
  • 加载索引文件 search.xmllocal_search.xml
  • 加载该文件是最耗时的部分,该文件越大加载越慢,博客中文字越多加载越慢

加速方案

减少索引内容
  • 可以设置搜索内容,若仅搜索标题 (搜索内容设置为false) 则会加载快到飞起
提速加载索引文件速度

对博客内容建立索引是必要的,我不会妥协

实现上的问题
  • 将该文件转为 cdn 文件后确实可以起到加速的作用,但如果图床不是 github 的话需要在每次更新博客后精心维护这个 local_search.xml 文件
  • 我的实践思路是,用脚本实现下列功能:
    • 更新博客
    • 重新生成博客 public 文件夹
    • public/local_search.xml 文件拷贝到仓库子模块并上传
    • Nginx 图床定期拉取 local_search 文件,并提供链接用于加速文件加载

    不得不承认,有些过于复杂,提供一个思路供大家参考

参考资料

  • https://yunist.cn/hexo/local_search_speed_up/
  • https://www.voidking.com/dev-hexo-local-search-accelerate/

0 人点赞