[Algolia]搜索服务
参考:
推荐使用local_search
服务,参考Local Search
Algolia是一个支持网站搜索功能的在线服务。NexT
主题也集成了相应的功能,实现步骤如下:
- 在线注册
- 本地安装
- 配置
在线注册
首先在Algolia
官网注册账户,进入控制台后选择Indices -> Create Index
,输入Index Name
用于之后的使用
点击API keys
选项,可以查看你的Application ID
和Search-Only API Key
;点击All API Keys
子选项,选择编辑图标
在ACL
选项添加addObject、deleteObject、listIndexes
和deleteIndex
功能
本地安装
在工程目录下安装插件hexo-algolia
$ npm install --save hexo-algolia
在主题目录下安装插件algolia-instant-search
$ cd themes/next
$ git clone https://github.com/theme-next/theme-next-algolia-instant-search source/lib/algolia-instant-search
配置
设置全局变量
$ export HEXO_ALGOLIA_INDEXING_KEY=Search-Only API key
将检索数据上传到Algolia
网站,保存在之前新建的Index
中
$ hexo clean
$ hexo algolia
INFO [hexo-algolia] Testing HEXO_ALGOLIA_INDEXING_KEY permissions.
INFO Start processing
INFO [hexo-algolia] 9 records to index (post, page).
INFO [hexo-algolia] Indexing chunk 1 of 1 (9 records)
INFO [hexo-algolia] Indexing done.
注意:更新文章后及时将检索数据上传到Algolia
网站
配置Hexo _config.yml
algolia:
applicationID: 'applicationID'
apiKey: 'apiKey'
indexName: '...'
chunkSize: 5000
添加在Algolia
网站生成的Application ID
、Search-Only API Key
和Index Name
配置NexT _config.yml
# Algolia Search
# See: https://github.com/theme-next/hexo-theme-next/blob/master/docs/ALGOLIA-SEARCH.md
# Dependencies: https://github.com/theme-next/theme-next-algolia-instant-search
algolia_search:
enable: true
hits:
per_page: 10
labels:
input_placeholder: Search for Posts
hits_empty: "We didn't find any results for the search: ${query}"
hits_stats: "${hits} results found in ${time} ms"
设置enable
为true
,同时修改提示标签为中文,参考Hexo+Next集成Algolia搜索
labels:
input_placeholder: 搜索文章
hits_empty: "我们没有找到任何搜索结果: ${query}"
hits_stats: "找到约${hits}条结果(用时${time}ms)"