简介
 一个在Algolia上为Hexo博客的帖子编制索引的插件 ,增加搜索功能。
![]()
安装
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
   | 
 
选件
生成索引文件