avatar

Hexo搜索插件

Hexo-Algoliasearch

简介

一个在Algolia上为Hexo博客的帖子编制索引的插件 ,增加搜索功能。

你需要安裝 hexo-algoliahexo-algoliasearch. 根据它们的说明文档去做相应的配置。

img

安装

这里我们使用 hexo-algoliasearch插件

1
npm install hexo-algoliasearch --save

Hexo自动检测到所有插件 , 如果不是这种情况,请在您的_config.yml文件中注册插件:

1
2
plugins:
- hexo-algoliasearch

配置

_config.yml文件中配置此插件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
algolia:
appId: "Application ID 对应的值"
apiKey: "新建的 api key 对应的值"
adminApiKey: "***"
chunkSize: 5000
indexName: "my-blog"
fields:
- content:strip:truncate,0,500
- excerpt:strip
- gallery
- permalink
- photos
- slug
- tags
- title
- about
- categories
- link
- movies
- music
- _posts
- messageboard
类型 默认 描述
appId String 您的应用程序ID。可选,如果ALGOLIA_APP_ID设置了环境变量
apiKey String 您的API密钥(只读)。用于搜索索引。可选,如果ALGOLIA_API_KEY设置了环境变量
adminApiKey String 您的adminAPI密钥。它用于创建,删除,更新索引。可选,如果ALGOLIA_ADMIN_API_KEY设置了环境变量
chunkSize Number 5000 记录/帖子被分成几块上传。建议使用Algolia以5000获得最佳性能。请注意,如果您要为帖子内容编制索引,则由于篇幅限制,它可能会失败。为了克服这个问题,请减小块的大小,直到通过为止。
indexName String 存储帖子的索引名称。可选,如果ALGOLIA_INDEX_NAME设置了环境变量
fields List 要索引的字段名称列表。用分隔字段名称和过滤器:。阅读过滤器以获取更多信息

筛选器

过滤器使您能够在建立索引之前处理字段的值。过滤器之间用冒号(:)隔开,并且可能具有以逗号(,)分隔的可选参数。可以链接多个过滤器。一个滤波器的输出将应用于下一个。

过滤器列表:

过滤 签名 句法 描述
跳闸 strip() strip 删除HTML。对于摘录和内容值不索引HTML标签和属性可能很有用。
截短 truncate(start: number, end: number) truncate,0,300 start索引到end索引截断字符串。阿尔戈利亚(Algolia)在记录大小方面有一些限制,因此减少帖子内容可能很有用。

1
2
fields:
- content:strip:truncate,0,200

选件

选件 描述
-n,-不清除 不清除现有索引

生成索引文件

1
hexo algolia

本地搜索

安装

你需要安裝 hexo-generator-search. 根據它的文檔去做相應配置。注意格式只支持 xml。

1
npm install hexo-generator-search --save

配置

修改站点配置文件 _config.yml

1
2
3
4
search:
path: search.xml
field: post
content: true

修改配置文件 butterfly.yml

1
2
3
4
5
local_search:
enable: true
labels:
input_placeholder: Search for Posts
hits_empty: "We didn't find any results for the search: ${query}" # if there are no result
文章作者: Wu Fei
文章链接: http://linuxwf.com/2020/04/09/Hexo%E6%90%9C%E7%B4%A2%E6%8F%92%E4%BB%B6/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WF's Blog
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论