一直想实现博客的本地搜索,没有找到好的实现方式。尝试了好几个方案,现在使用 Algolia 实现本地搜索。实现方式简单,每月可搜索 10000 次,可以一直白票下去
构建数据
1、 修改配置文件
修改 config.toml
,配置生成 algolia.json
文件
[outputs]
home = ["HTML","RSS","TXT","Algolia"]
section = ["HTML"]
taxonomy = ["HTML"]
term = ["HTML"]
[outputFormats.Algolia]
mediaType = "application/json"
baseName = "algolia"
isPlainText = true
2、 添加模版文件
创建文件/layouts/_default/list.algolia.json
[
{
{- range $index, $entry := .Site.RegularPages }}
{
{- if $index }}, {
{ end }}
{
"objectID": {
{ .File.TranslationBaseName }},
"url": {
{ .Permalink | jsonify }},
"title": {
{ .Title | jsonify }},
"summary": {
{ .Summary | jsonify }},
"content": {
{ .Plain | jsonify }},
"pubDate": {
{ .PublishDate | jsonify }}
}
{
{- end }}
]
注:objectID
为algolia
中的数据ID,可以用此ID进行CURD
操作
3、生成数据文件
运行hugo
,生成数据文件algolia.json
[
{
"objectID": 20210522,
"url": "https://ichochy.com/posts/20210522/",
"title": "使用 Algolia 云引擎,实现个人博客 Hugo 本地智能搜索",
"summary": "现在使用 Algolia 实现本地搜索。实现方式简单,每