之前用多个google搜索,baidu搜索也用过,实际上体验并不如何好。
主要是更新慢,百度收录还不全。
所以我还尝试了 swiftype ,这个搜索引擎是收费的。
搜索效率高,收录提交虽然也不慢,但是它收费呀。

这时候我看到有个本地搜索的选项:

1
self_search: false ## Use a jQuery-based local search engine, true/false.

稍微了解下发现它是基于xml文件索引的,大概原理是将往期文章要素存在xml,然后js搜索对应的数据。
通过npm进行安装,这是源项目地址 https://github.com/wzpan/hexo-generator-search

1
$ npm install hexo-generator-search --save

工作原理

运行 hexo g 之后,实际会生成下面的xml文件在根路径下。节选部分结构,发现这确实只是一个内容匹配。

1
2
3
4
5
6
7
8
9
10
11
12
<entry>
<title>五分钟了解 GitHub Actions</title>
<link href="/posts/30334/"/>
<url>/posts/30334/</url>
这里是一些文章数据
<categories>
<category> 分享 </category>
</categories>
<tags>
<tag> github_action </tag>
</tags>
</entry>

加载与搜索速度都比站站外的工具快,好用,推荐。

效果如下:

演示站点: https://vrast.cn