加载中...
avatar

Algolia搜索配置

1.注册账号

前往 Algolia 注册页面,注册一个新账户。

image-20200503104401311

2.安装 Hexo Algolia 扩展

在hexo根目录下执行以下命令安装。

$ npm install --save hexo-algolia

3 .配置站点

编辑 站点配置文件_config.yml,新增以下配置,除了 chunkSize 字段,替换成在 Algolia 获取到的值:

1
2
3
4
5
algolia:
applicationID: 'applicationID'
apiKey: 'apiKey'
indexName: 'indexName'
chunkSize: 5000

4.配置主题

打开主题的Algolia开关。例如在butterfly主题配置文件butterfly.yml中,打开Algolia的enable。

1
2
3
4
5
6
7
8
enable: true
hits:
per_page: 6

labels:
input_placeholder: Search for Posts
hits_empty: "We didn't find any results for the search: ${query}" # if there are no result
hits_stats: '${hits} results found in ${time} ms'

5.导入Search-Only API Key

API Keys 页面找 ApplicationIDSearch-Only API Key。复制Search-Only API Key注意,Admin API Key 不要外泄。

在hexo根目录执行

`export HEXO_ALGOLIA_INDEXING_KEY=xxx

xxx替换成自己的Search-Only API Key。

6.测试配置

hexo algolia测试配置成功与否,下面这个就是权限不足。需要打开Algolia 的ACL权限。点击 ALL API KEYS 和 edit 选项。这样会弹出一个框,在这个框中,你可以进行精确的授权和控制:

在弹出框底部的 ACl 选项中,勾选 search,addObject,deleteIndex,listIndexes,deleteObject。最后,点击 Update 按钮:

hexo algolia
1
2
3
4
5
6
7
8
9
10
$ hexo algolia
INFO [hexo-algolia] Testing HEXO_ALGOLIA_INDEXING_KEY permissions.
INFO Start processing
INFO [hexo-algolia] 137 records to index (post, page).
INFO [hexo-algolia] Indexing chunk 1 of 3 (50 records)
ERROR [hexo-algolia] Not enough rights to update an object near line:1 column:522
INFO [hexo-algolia] Indexing chunk 2 of 3 (50 records)
ERROR [hexo-algolia] Not enough rights to update an object near line:1 column:409
INFO [hexo-algolia] Indexing chunk 3 of 3 (37 records)
ERROR [hexo-algolia] Not enough rights to update an object near line:1 column:521

目前,Algolia似乎不给ACL权限了,反正我新注册的账号没有ACL选项。

7.发布

每次发布博客前后,都需要先执行下hexo algolia,然后再发布。

文章作者: 蕾米亚
文章链接: http://omimo.ga/2020/4b08007a.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彭彭和丁满
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论