什么是 Alogolia
Algolia
是一个托管搜索引擎,提供全文,数字和多面搜索,能够从第一次击键中提供实时结果,它提供了一组工具,可简化制作完整搜索体验并将其集成到您的网站和应用程序中的过程。这些包括:
支持多种不同语言的后端 API 客户端,用于索引、配置和管理数据
用于构建 Web 和移动搜索体验的前端小部件
与流行的框架和平台集成,进一步简化Algolia在现有项目中的集成
一个安全的分布式搜索网络,可托管您的内容并快速将其提供给客户
透明、可自定义的相关性算法
一个经过大量优化的搜索引擎,从头开始构建,C
大量文档、实现指南和代码示例
透明、可自定义的相关性算法
简单来说,Algolia
是一个提供云搜素服务的第三方平台,我们可以通过调用 Algolia
的API接口把我们自己站点的数据上传到 Algolia
中,实现我们自己站点的搜索功能。
注册 Algolia
进入官网地址用 Github
授权登录
新建 Index
查看 Application ID
、 Search-Only API Key
和 Admin API Key
安装依赖 && 写入配置
前往博客根目录,执行以下命令
代码语言:javascript复制npm install hexo-algoliasearch --save
然后修改博客配置文件 _config.yml
,添加如下代码:
algolia:
appId: "your applicationID"
apiKey: "your Search-Only API Key"
adminApiKey: "your Admin API Key"
chunkSize: 5000
indexName: "your indexName"
fields:
- content:strip:truncate,0,500
- excerpt:strip
- gallery
- permalink
- photos
- slug
- tags
- title
其中,appidapikeyadminApiKey
填入在 Algolia
上查看 Application ID
、 Search-Only API Key
和 Admin API Key
,indexName
填入前面你创建的index名称
填写完成后,执行下面语句,把索引信息上传 Algolia
hexo algolia
看到如下信息,就表示上传成功
代码语言:javascript复制INFO 360 files generated in 3.97 s
INFO Clearing index on Algolia...
INFO Index cleared.
INFO Indexing posts on Algolia...
INFO 86 posts indexed.
再把 _config.butterfly.yml
的 algolia_search
设置改成
algolia_search:
enable: true
hits:
per_page: 10
labels:
input_placeholder: Search for Posts
hits_empty: "我们没有找到任何搜索结果: ${query}"
hits_stats: "找到${hits}条结果(用时${time} ms)"
前往博客根目录,依次执行如下命令
代码语言:javascript复制hexo clean && hexo generate && hexo server
重新编译运行,即可看到效果。