Hexo:next主题使用Algolia增加搜索功能
Algolia
Algolia是一家美国的创业公司,通过SaaS(软件即服务)模式提供网络搜索产品。Algolia使用外部托管的搜索引擎为客户的网站提供网络搜索服务。产品只需索引客户的网站里的内容,因此搜索任务要简单得多。
Algolia还会通过各种API提供其搜索服务。Rest API提供了搜索、分析和监视三个基本功能,有10种计算机语言和平台可供客户端使用,包括Java、iOS和Android。为了更好的在Web端使用,Algolia集成了四个框架——Ruby on Rails、Symfony、Django和Laravel。Algolia还提供一些UI库选项来让用户选择他们喜欢的用户界面。除了这些产品,Algolia还与其他开源和第三方软件集成了Wordpress和Magento等服务。
搭建Algolia搜索
注册Algolia
前往 Algolia 注册页面,注册一个新账户。 可以使用 GitHub 或者 Google 账户直接登录,注册后的 14 天内拥有所有功能(包括收费类别的)。之后若未续费会自动降级为免费账户,免费账户 总共有 10,000 条记录,每月有 100,000 的可以操作数。
注册完成后,创建一个新的 Index,记住这个 Index 名称将在后面使用。
获取API Key
打开DashBoard–>API Keys–>All API Keys,点击右上角New API Key。(这个路径可能有变化,需要看Algolia有没有更新前端)
在Creat API Key中,Description随便填写描述,Indeices下拉选择刚刚新建的Index Name,其他几个不用关心,最下方ACL中选择search addObject deleteObject deleteIndex和listindexes。记住这个新生成的API Key。
安装 Hexo Algolia
Index 创建完成后,此时这个 Index 里未包含任何数据。 接下来需要安装 Hexo Algolia 扩展, 这个扩展的功能是搜集站点的内容并通过 API 发送给 Algolia。前往站点根目录,执行命令安装:
npm install --save hexo-algolia |
更新站点配置
编辑Blog根目录下的 _config.yml ,新增以下配置:
algolia: |
更新Index
当配置完成,在站点根目录下执行:
# Windows将export改为set |
如果更新成功则将显示如下信息:
# npx hexo algolia |
如果显示Please provide an Algolia index name in your hexo _config.yml flle,则是Algolia Search API Key indexName 错了,看下之前新建index的名字。
如果显示Not enough rights to update an object near,则是没有修改API Key对应的搜索ACL(访问控制列表),请按照获取API Key小节中的程序走走看。
集成至NexT主题中
更改主题目录下配置文件 _config.yml ,找到 Algolia Search 配置部分,将 enable 改为 true 即可,根据需要你可以调整 labels 中的文本。
# Algolia Search |