基于hexo-algoliasearch开发搜索功能
前言
本站基于
Hexo
搭建,用的最新版本 🦋 hexo-theme-butterfly 主题,如果你是别的版本,可能有些地方会有出入。本篇文章部分转载自🦋 唐志远の博客
关于 Algolia 搜索功能,这里有两种插件,一个是 hexo-algolia ,一个是 hexo-algoliasearch。第一种亲测只能对匹配文章title,不能匹配文章内容查询到结果,所以推荐第二种。下面分别对这两种插件做不同的说明。
获取 Algolia 账号
- 注册 Algolia。
进入官网地址 注册,也可以直接用Github
授权登录。 - 新建 Index。
- 创建拥有一定权限的
api key
(如果选择第二种插件,可忽略这一步)。
进入【Settings > API Keys】。 进入【All API Keys > API Keys】,点击【New API Key】。在ACL里面增加删除和新增Object的权限(按理说只用这两个权限就行,下图中我多加了几个),然后填上 indices 栏目中的 index name ,选刚才你创建的那个index,其余默认就行。 点击【Create】,这样就得到了一个 api key。注意一下,这个key将会在下面的步骤中用到。
安装依赖 && 写入配置
- 安装 Algolia 依赖。
前往博客根目录,打开cmd命令窗口执行npm install hexo-algoliasearch --save
。1
npm install hexo-algoliasearch --save
- 注入配置。
修改站点配置文件_config.yml
,添加如下代码:【applicationID】填入图中位置的 Applicaiton ID,【apiKey】填入图中位置的 Search-Only API Key,【Admin API Key】填入图中位置的 Admin API Key,【indexName】填入前面创建的索引名称。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15algolia:
appId: "your applicationID"
apiKey: "your Search-Only API Key"
adminApiKey: "your Admin API Key"
chunkSize: 5000
indexName: "your indexName"
fields:
- content:strip:truncate,0,500
- excerpt:strip
- gallery
- permalink
- photos
- slug
- tags
- title - 执行
hexo algolia
。
前往博客根目录,打开cmd命令窗口执行hexo algolia
。到如下信息,证明成功了,可以去 Algolia 网站上查看,索引已经上传成功了。1
hexo algolia
1
2
3
4
5INFO 128 files generated in 2.33 s
INFO Clearing index on Algolia...
INFO Index cleared.
INFO Indexing posts on Algolia...
INFO 65 posts indexed. - 主题中写入 Alogolia 配置项。
在主题配置文件_config.butterfly.yml
中修改以下内容:1
2
3
4
5
6
7
8algolia_search:
enable: true
hits:
per_page: 10
labels:
input_placeholder: Search for Posts
hits_empty: "我们没有找到任何搜索结果: ${query}"
hits_stats: "找到${hits}条结果(用时${time} ms)" - 重新编译运行,即可看到效果。
前往博客根目录,打开cmd命令窗口依次执行如下命令:1
2hexo cl && hexo generate
hexo s -p 8000
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 yskmの博客!
评论
TwikooGitalk