Hexo + butterfly 使用 Alogolia 替代本地搜索

2022-09-28 14:28:16 浏览数 (1)

什么是 Alogolia

Algolia 是一个托管搜索引擎,提供全文,数字和多面搜索,能够从第一次击键中提供实时结果,它提供了一组工具,可简化制作完整搜索体验并将其集成到您的网站和应用程序中的过程。这些包括:

支持多种不同语言的后端 API 客户端,用于索引、配置和管理数据

用于构建 Web 和移动搜索体验的前端小部件

与流行的框架和平台集成,进一步简化Algolia在现有项目中的集成

一个安全的分布式搜索网络,可托管您的内容并快速将其提供给客户

透明、可自定义的相关性算法

一个经过大量优化的搜索引擎,从头开始构建,C

大量文档、实现指南和代码示例

透明、可自定义的相关性算法

简单来说,Algolia 是一个提供云搜素服务的第三方平台,我们可以通过调用 Algolia 的API接口把我们自己站点的数据上传到 Algolia 中,实现我们自己站点的搜索功能。

注册 Algolia

进入官网地址用 Github 授权登录

新建 Index

查看 Application IDSearch-Only API KeyAdmin API Key

安装依赖 && 写入配置

前往博客根目录,执行以下命令

代码语言:javascript复制
npm install hexo-algoliasearch --save

然后修改博客配置文件 _config.yml ,添加如下代码:

代码语言:javascript复制
algolia:
  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

其中,appidapikeyadminApiKey 填入在 Algolia 上查看 Application IDSearch-Only API KeyAdmin API Key ,indexName 填入前面你创建的index名称

填写完成后,执行下面语句,把索引信息上传 Algolia

代码语言:javascript复制
hexo algolia

看到如下信息,就表示上传成功

代码语言:javascript复制
INFO  360 files generated in 3.97 s
INFO  Clearing index on Algolia...
INFO  Index cleared.
INFO  Indexing posts on Algolia...
INFO  86 posts indexed.

再把 _config.butterfly.ymlalgolia_search 设置改成

代码语言:javascript复制
algolia_search:
  enable: true
  hits:
    per_page: 10
  labels:
    input_placeholder: Search for Posts
    hits_empty: "我们没有找到任何搜索结果: ${query}"
    hits_stats: "找到${hits}条结果(用时${time} ms)"

前往博客根目录,依次执行如下命令

代码语言:javascript复制
hexo clean && hexo generate && hexo server

重新编译运行,即可看到效果。

0 人点赞