Algolia 官网截图
Algolia 官网截图

Algolia 是什么?

Algolia 是一家美国的创业公司,他们提供了很容易使用的搜索引擎的服务,让开发者可以快速对站内内容进行检索和搜索。

Algolia 在国内能用吗?

短的答案: 会很慢。

长的答案:

Algolia 在香港有服务节点,在中国大陆暂时没有服务节点,你在下图可以看到,网络延迟在 600 - 700ms 之间,所以是很慢的。

Algolia 在香港的节点的访问网络延迟
Algolia 在香港的节点的访问网络延迟

Algolia 的 开源替代方案: MeiliSearch

MeiliSearch 官网截图
MeiliSearch 官网截图

MeiliSearch 是什么?

MeiliSearch 是基于 Rust 语言开发的开源搜索引擎。它旨在为用户提强大和可自定义的搜索体验,包括开箱即用的功能,如拼写错误容差,过滤和同义词任何类型的项目。

为什么选 MeiliSearch?

因为 MeiliSearch 是开源的,支持中文,同时他们的开发者社区比较活跃。相反 Algolia是闭源的。

从价格方面来考虑,虽然 Algolia 提供了免费方案,但是如果每月的搜索量超过了 10,000 次,之后就是 $1 美元 / 1,000 次搜索。

而 MeiliSearch 就不存在量在按次收费的问题,最多就是服务器和流量的成本。

Algolia 官网的产品价格 截图
Algolia 官网的产品价格 截图

最后从隐私的角度来考虑,如果你对隐私有要求,使用 Algolia 可能比较难做到,因为 Algolia 基本上知道了你的用户都在搜什么, 而开源的 MeiliSearch 基本上可以保护好你的搜索数据。

如何快速安装一个 MeiliSearch Server?

21云盒子提供一键托管,免运维的 MeiliSearch 作为 Algolia 国内的替代方案

  1. 注册成为 21云盒子会员
  2. 在21云盒子菜单中点 “托管应用”
  3. 选 “MeiliSearch”
  4. 选合适的服务器配置
  5. 点 “马上创建”

不用一杯茶的时间,你的 MeiliSearch 就部署在线上,你可以通过 <APP_ID>.21yunbox.com 进行访问。

还没有加载搜索索引的 MeiliSearch
还没有加载搜索索引的 MeiliSearch

你可以在 MeiliSearch 仪表盘 (Dashboard) 中进行测试, 你会看到现在搜索没有结果,这是因为我们还没有添加搜索索引 (Search Index)。

如何添加搜索索引到 MeiliSearch?

你可以通过 curl 加载官方示例 movies.json 数据集 进 MeiliSearch,操作如下:

curl \
  -X POST 'https://<APP_ID>.21yunbox.com/indexes/movies/documents' \
  --data @movies.json

更多关于 MeiliSearch 的介绍可以参考 MeiliSearch 官方文档

如何使用 MeiliSearch 进行搜索?

MeiliSearch 提供了 6+ 种语言的 SDK 可以直接使用。 同时 MeiliSearch Server 也提供了一个可视化的 Web 界面,可以用来测试搜索结果,到 <APP_ID>.21yunbox.com 进行访问即可。

以下是搜索 ‘spiderman 2’ 的返回结果

搜索 'spiderman 2' 的返回结果
搜索 'spiderman 2' 的返回结果

其他相关的博客: