Hugo搜索工具hugo-algolia2
摘要
本文介绍了基于Hugo静态网站生成器的搜索工具hugo-algolia2,该工具是对原hugo-algolia项目的改进版本,解决了原项目不支持中文分词、包含无用词等问题,并增加了自定义URI格式和文件后缀过滤等功能。文章详细说明了hugo-algolia2的安装方法、工作原理及如何将索引文件上传至Algolia,包括配置文件的设置和使用命令行工具的步骤。此外,作者还提供了通过GitHub Action自动生成和上传索引的示例配置。项目持续更新,采用ISC开源许可,适合需要改进Hugo站点搜索功能的开发者使用。
本站原来使用lunr.js作为搜索引擎,在使用过程中发现一些问题:
- 客户端需要下载索引文件
- 会出现搜索失效的情况
故本站改为algolia搜索,使用hugo-algolia创建algolia索引文件时发现,hugo-algolia仅针对英文分词,并且会包含一些无用词。hugo-algolia项目master分支超过一年未更新,且issue也较长时间未作出回复,所以本项目hugo-algolia2 clone自hugo-algolia,在其ISC许可下作为单独项目开发。
本项目持续更新中,如有问题欢迎反馈
hugo-algolia2
项目改编自hugo-algolia, 用于hugo静态内容的搜索.
New Features
- 修复原项目的一些问题
- 支持自定义URI格式
- 支持按照文件后缀过滤
- 去除无用单词
- 添加中文分词
Installation
从npm安装hugo-algolia2
| |
或者
| |
How does it work?
默认遍历hugo项目的/content路径下的文件, 并且按照[‘html’,‘md’]后缀过滤, 并且在/public下生成algolia.json. 具体配置参数可以使用hugo-algolia2 --help.
Sending to Algolia
在hugo项目根目录下添加配置文件config.yaml, 如下:
| |
URI是访问路径, 需要和hugo的配置相同. key需要填写Admin API Key.
配置之后,
| |
可以上传algolia配置.
Github Action
| |
License
同hugo-algolia, 本项目也使用ISC License.