# 前言
# 文章搜索功能
# Algolia 简介
Algolia 的搜索 API 可以为网站与移动应用提供托管式搜索 API,网站或移动应用只需嵌入简单代码数分钟即可实现搜索功能。
Algolia 的搜索原理是,你把你的网站数据上传到 Algolia,当你在你的网站上进行搜索时,会向 Algolia 发送一个请求,Algolia 在你上传的数据中进行搜索,然后把结果返回给你,你在你的网站上进行展示
# 获取 API Keys
- 前往 Algolia 官网:https://www.algolia.com/ ,我这里使用 GitHub 登陆
- 新建一个 Index
- 左下角齿轮 👉
API Keys
:点进去这里面就是你的凭证
# 定制 API Key
- Algolia 的
API Key
用于访问Algolia
的API
。Algolia
提供了一个Search-Only API Key
,它允许你搜索你的数据,适用于你的应用程序的所有索引,并且在生产前端代码中使用是安全的。但是,你可能想使用此密钥创建更受限制的API
密钥。例如,生成一个搜索API
密钥,限制对特定用户、索引或一组索引的访问。
- 你可以通过
Algolia
控制台创建一个新的API
密钥并为其分配ACL
。步骤:登录Algolia
控制台 👉 然后前往API Keys
页面 👉 在All API Keys
选项卡下 👉 点击New API Key
按钮 👉 为新密钥输入名称 👉 选择你创建的index
👉 选择要分配给该密钥的ACL
👉 最后点击Create
按钮即可。
# Algolia 配置
- 安装
hexo-algoliasearch
插件, 在Git
终端输入命令
npm install hexo-algoliasearch --save |
- 在
<root>/_config.yml
里配置algolia
,如果有限制对特定索引、用户或 IP 地址的访问,那就使用你定制的API Keys
algolia: | |
appId: # your Application ID | |
apiKey: # your Search-Only API Key | |
adminApiKey: # your Admin API Key | |
chunkSize: 5000 | |
indexName: "my-hexo-blog" # 你起的 indx 的名称 | |
fields: | |
- content:strip:truncate,0,500 | |
- excerpt:strip | |
- gallery | |
- permalink | |
- photos | |
- slug | |
- tags | |
- title |
appId
:Algolia 的 Application ID。apiKey
:Algolia 的 Search-Only API Key。adminApiKey
:Algolia 的 Admin API Key。chunkSize
:每次上传的数据量大小。indexName
:你起的 index 的名称。fields
:你想要在搜索结果中展示的字段。
- 执行命令,上传博客内容到 Algolia 搜索引擎。
hexo clean && hexo g && hexo d && hexo algolia |
文章搜索功能可以使用了,快去试试吧🎉~