Algolia 国内有替代品吗?对比卡拉搜索怎么样?

卡拉先生
发布于 2020年12月04日 | 上次编辑:2020年12月05日

Algolia国内替代品
Algolia国内替代品

Algolia 是一家发家于巴黎的科技公司,它的主打产品是极其易用的搜索 API。由于 Algolia 的主要用户都在欧美国家,因此 Algolia 的所有服务器均位于海外。同时,Algolia 的引擎主要为使用字母的语系设计,比如英文、法文等,而类似 CJK (中文日语和韩文的统称)没有很好的支持。那么,有没有在国内能用的 Algolia 替代品呢?

什么是 Algolia

Algolia
Algolia
我们先从什么是 Algolia 开始讲起。

Algolia 是新一代的基础设施软件服务的代表之一,它为它的客户提供端到端的搜索 API,以实现搜索即服务。Algolia 把站内搜索做到了极致,不管是产品的易用程度、排序的精准程度和搜索速度都让人耳目一新。

对于使用 Algolia 的开发者来说,只需要用 Algolia 提供的 API 将数据以 JSON 格式传到它的服务器,即可以用对应的搜索接口为用户提供搜索服务。

举个例子,如果你的产品是一个电商平台,你的用户需要搜索商品,那么你就可以将商品数据用 Algolia 提供的 API 上传,当你的用户需要搜索时,直接调用 Algolia 的搜索 API 就可以获得对应结果。

Algolia 的网站上提供了一些示例,比如电商的示例搜索电影搜索等等。

为什么需要搜索即服务

对于一家电商公司或者游戏公司来讲,公司的主要业务主要就是电商或者游戏本身,而对应需要的搜索功能虽然对用户体验来讲至关重要,但并不是公司的主业。这时候要求一家电商公司或者游戏公司来自己搭建开发一款搜索引擎,无异于要求每家公司在做自己业务之前,先搭起自己的发电厂。

虽然市面上有类似 Elasic Search, TypeSense 之类的开源搜索解决方案,但对于多数场景来说,仍然需要熟悉搜索的后端工程师花一段时间进行摸索。如果需要搭一套排序准且搜索系统稳定的搜索方案,即使对有经验的搜索工程师来说,也需要一段时间,因此工程成本很高。

Algolia 提供的搜索即服务,就是用来解决这样一个问题 —— 绝大多数公司没有能力,也没有必要,专门搭建起自己的站内或 App 内搜索引擎。使用 Algolia 则只需要简单的设置,可以让这些公司为它们的用户提供极佳的搜索体验。这样一来,公司可以完全专注于自身的业务,而没有必要承担不必要的研发和维护搜索功能的成本。因此,使用 Algolia 可以省去一位搜索工程师和一位运维工程师的成本,甚至一整个搜索团队。

Algolia 在国内使用的问题

在国内为中文用户提供搜索服务时,如果需要使用 Algolia 的话,有几个需要考虑的地方

第一,Algolia 的引擎是为字母系统设计,强调可纠错性。而字母系统的语言通常仅有几十到几百个可能的字母,中文常见的汉字却有 3000 - 5000 个。因此,使用 Algolia 时,Algolia 的引擎会默认按字母系统语言来处理中文,这样中文会被分成每个单字而非词组。

举个例子,“中国人民解放军” 一词在 Algolia 处理时,是将这一词拆分为 7 个汉字。而所有的排序均是基于这一假设,这也就容易造成排序设置不准等情况。

第二,Algolia 的主要服务客户均位于欧美,且不专门对国内用户提供客服支持,因此对于需要客户支持的用户可能造成不便。

第三,Algolia 的所有服务器均在海外,而因为复杂的网络状况,即使是使用最接近的香港或新加坡服务器,往返程延迟也常在 200ms 到 1 秒左右,无法提供实时搜索体验。同时对于国内较为成熟的公司来说,数据合规可能也是需要考虑的问题。

Algolia 在国内有哪些替代品?

首先,如果你的业务场景是 App 内搜索,我们推荐我们的产品卡拉搜索。在 API 和功能性上,卡拉搜索很大程度上借鉴了 Algolia,同时卡拉搜索重写了核心引擎,专门为中文做了优化,因此不管是中文分词、同义词,还是排序的处理,都有较大的提升。卡拉搜索支持 Algolia 具有的主要功能,比如

  • 同义词搜索
  • 后台索引管理
  • 多层排序机制等
  • 结果高亮
  • 中文结果摘要

卡拉搜索后台示意图
卡拉搜索后台示意图


除卡拉搜索外,其它可尝试的产品还有

阿里云开放搜索

阿里开放搜索是本列表中,唯一服务器在国内的搜索服务。

阿里开放搜索类似自服务 Elastic Search,用户可在后台尝试更改索引设置,排序等。但阿里搜索的排序仍然是单一打分机制,不容易调整排序。同时对比 Algolia,阿里搜索功能较为单一,且不具有实时搜索功能。Algolia 的搜索响应时间通常小于 20 毫秒,而阿里开放搜索则至少为 200 毫秒至 1000 毫秒。对于需要实时搜索(Instant Search)支持不佳。

Searchify

Searcify
Searcify

Searchify 是由 Chris Lamprecht 开发的搜索服务,提供实时搜索、搜索过滤(限定数值范围,比如价格等)、地理位置搜索等功能。

但跟 Algolia 一样,Searchify 的服务器全部位于国外,同时对中文支持仅限于单字粒度。与 Algolia 相比,Searchify 的设置和 API 功能丰富度逊色不少,同时没有试用,价格为 50000 文档每月 59 美元。

Elastic Search Hosted

Elastic Search 的开源版本可以免费使用,但如果需要 Elastic Search 的自服务版本,则需要收费。

对于绝大多数公司,要将 Elastic Search 搭建成适合站内搜索的服务,绝不是容易的事情。如果需要 Elastic Search 的教程,可以参考我们的 Elastic Search 教程。同时,Elastic Search 的排序采用单一打分机制,不太容易为特定场景调整。因此,Elastic Search 适合团队中有搜索专家的公司,或者需要处理海量数据(特别是日志数据,至少在数百 G 到数 T 以上)时。

Swiftype

Swiftype 是一家提供搜索服务的公司,几年前被 Elastic Search 收购,但在收购后 Elastic Search 仍然推出了自己的自服务版本,因此长期产品路线并不明朗。

Swiftype 提供 Wordpress、Android、iOS 等常见的插件,同时也提供多数语言的 SDK。Swiftype的价格为 300 美元每月起。

总结

Algolia 是非常优秀的搜索服务提供商,但因为其主要面向欧美用户,搜索没有针对中文进行优化。卡拉搜索传承了 Algolia 丰富的功能,同时专门在引擎内核为中文搜索做了优化,以达到更优秀的中文搜索体验。如果希望尝试卡拉搜索,请联系销售

请加立即联系售前销售
请加立即联系售前销售

想要阅读更多技术文章和卡拉搜索的创业经历?
与 1893 位读者一起,订阅我们的邮件列表吧

为你推荐

友情链接更新日志© 2021, 卡拉搜索, Built with ❤️ in San Francisco + Beijing

京ICP备15049164号-3