第三方搜索

第三方

安装插件

1
npm install hexo-algoliasearch --save


注册 Algolia 并获取配置

  1. 注册algolia,创建新建index

  2. Setting->打开API Keys

    image-20240126112253402

  3. 选择All API Keys,新建一个拥有CRUD权限的api key(指定相应的index)

    image-20240126112303154


修改_config.yml

在文件添加如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 网站搜索功能 hexo-algoliasearch
algolia:
appId: "your appId"
apiKey: "your apiKey"
adminApiKey: "your adminApiKey"
chunkSize: 5000
indexName: "your indexName"
fields:
- content:strip:truncate,0,500
- excerpt:strip
- gallery
- permalink
- photos
- slug
- tags
- title


修改_config.butterfly.yml

algolia_search修改成如下,并把algolia注释

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Algolia search
algolia_search:
enable: true
hits:
per_page: 10
labels:
input_placeholder: Search for Posts
hits_empty: "我们没有找到任何搜索结果: ${query}"
hits_stats: "找到${hits}条结果(用时${time} ms)"


#algolia:
# applicationID: 'applicationID'
# apiKey: 'apiKey'
# indexName: '...'


运行代码

分别运行下面的两段代码,重新跑项目,打开就可以看到效果

1
2
hexo clean
hexo algolia

本地搜索

我实在是忍不了algolia了,每次需要运行一次命令,还需要科学上网,字数多了又有限制

所以现在我更换了本地搜索

更换插件

如果你是上面第三方搜索方式换成本地搜索,请先运行

1
npm uninstall hexo-algoliasearch hexo-algolia

本地搜索需要更换插件,运行命令

1
npm install hexo-generator-searchdb

修改_config.butterfly.yml

修改_config.butterfly.yml里面的代码

1
2
3
4
5
6
7
8
9
10
    # Algolia search
algolia_search:
+ enable: false
- enable: true
hits:
per_page: 10
labels:
input_placeholder: Search for Posts
hits_empty: "我们没有找到任何搜索结果: ${query}"
hits_stats: "找到${hits}条结果(用时${time} ms)"

local_search进行修改

1
2
3
4
5
6
7
8
9
10
11
12
# Local search
local_search:
enable: true
trigger: auto
top_n_per_article: 1
unescape: false
preload: false
labels:
input_placeholder: Search for Posts
hits_empty: "目前没有找到任何搜索结果: ${query}"
hits_stats: "找到${hits}条结果(用时${time} ms)"
CDN:

修改_config.yml

注释_config.yml里面的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#algolia:
# appId: "Q0YZ3KDM7W"
# apiKey: "f78b69a464eb0261eece32ccd2f67487"
# adminApiKey: "440c1443788a6a0dd4a97d33367c4a95"
# chunkSize: 5000
# indexName: "blog"
# fields:
# - content:strip:truncate,0,10000
# - excerpt:strip
# - gallery
# - permalink
# - photos
# - slug
# - tags
# - title

新增

1
2
3
4
5
search:
path: search.xml
field: post
format: html
limit: 20000