为什么要使用 Meil​​iSearch 而不是 Elasticsearch?


为什么要使用 Meil​​iSearch 而不是 Elasticsearch?


为什么要使用 Meil​​iSearch 而不是 Elasticsearch?


MeiliSearch 和 Elasticsearch 之间的主要区别是什么?

自 2010 年创建以来,Elasticsearch 已迅速成为搜索引擎市场上的热门选择,在各种应用程序和数据集中都有用武之地。不可否认它是一个用于大量全文搜索的强大搜索引擎,但在运维管理的成本较高,有一定的学习门槛。

对于处理大量日志的大型科技公司来说,Elasticsearch 可能是有意义的。但对于中等规模的数据集(即少于 500 万行)和较小的应用程序,它根本不适合。由于没有可用的开源替代方案,因此开发人员仍然将 Elastic 作为他们的默认解决方案。

这就是 Meil​iSearch 的用武之地。MeiliSearch 提供快速、相关且容错的搜索,几乎没有设置时间,对于任何需要搜索引擎的开发人员来说,它都是一个很好的解决方案。

为什么要使用 Meil​​iSearch 而不是 Elasticsearch?

深入研究这些搜索引擎及其场景

1 - Elasticsearch 是做什么用的?

一点历史

2010 年,Shay Bannon 推出了 Elasticsearch 的第一个版本,这是一个用 Java 编写的分布式搜索引擎。建立在 Lucene 之上——Doug Cutting 于 1999 年为 Apple 等公司编写了其他四个搜索引擎后开始的一个项目——它几乎适用于任何需要全文搜索的应用程序。

虽然 Lucene 是底层的东西,但 Elasticsearch 为其用户提供了一个更高级别的接口:一个使用 JSON 文档的 HTTP API。它还通过分片和复制提供开箱即用的可扩展性。随着数据处理和可视化软件的加入,Elasticsearch 现在作为数据管理、监控和搜索的完全集成解决方案提供。

强大的特性带来巨大的复杂性

Elasticsearch 的场景非常广泛,从简单的站点搜索到海量数据集的分析,无所不包。

虽然可以使用 Elastic 做很多事情,但是再技术选型上并不意味一定需要这么选择。为了将 Elasticsearch 配置使用,运维或者开发人员必须对引擎的工作原理有一定的了解。

Elasticsearch 在处理海量数据集时非常强大;它可以快速水平扩展并允许构建复杂的查询。另一方面,没有什么是容易的。即使您只需要处理拼写错误、同义词或过滤器的简单搜索功能,您也需要花费数小时的培训、文档和配置。对于应该快速且无痛的事情来说,这需要大量资源,这就是为什么许多公司聘请 Elasticsearch 顾问来加快流程的原因。你在这里看到一个模式吗?


为什么要使用 Meil​​iSearch 而不是 Elasticsearch?


2 - Meil​​iSearch 是做什么用的?

MeiliSearch 是一个用 Rust 编写的开源搜索 API,Rust 是一种高性能且可靠的编程语言。它由 Rust 贡献者 Quentin Dequelen 和 Clement Renault 于 2018 年创建,它提供了极高的性能,同时还允许开发人员对每个内存分配进行精细控制。

凭借深受 Algolia 启发的数据结构和算法,MeiliSearch 旨在为即时搜索提供最佳性能。与其试图复制 Elasticsearch 或 Lucene 的原始功能,MeiliSearch 是为闪电般的快速部署而构建的,具有开箱即用的搜索功能。

我们希望 Meil​​iSearch 成为用户搜索的首选解决方案。为此,需要考虑三个重要因素:速度、易用性和易于安装。

A. 速度

MeiliSearch 提供目标 50 毫秒内响应能力。这个速度阈值很重要,因为它允许用户实时响应搜索、缩小搜索条件或在找到所需内容时提前停止。

每次搜索可能只会节省几秒钟,但这几秒钟对用户来说代表着巨大的效率提升。在所有情况下,更少的搜索时间和更多的浏览时间意味着更多的点击、更好的销售或更高的产品生产力。

B. 最终用户的易用性

除了即时搜索,MeiliSearch 还提供了一种容错、自然的查询语言。

这使搜索引擎感觉简单直观。搜索栏常常让用户觉得他们必须学习一门新语言才能获得最佳结果——或者更糟的是,他们必须在搜索和 Google 之间来回切换才能获得正确的拼写或产品用户标识符。MeiliSearch 使搜索变得简单且响应迅速,因此用户可以专注于结果。

为什么要使用 Meil​​iSearch 而不是 Elasticsearch?

由于 Meil​​iSearch 是根据最终用户的需求进行配置的,因此可以在搜索中使用同义词,并且可以从结果中忽略“the”和“a”等冗余词。

C. 易于开发人员使用

MeiliSearch 提供了广泛的自定义工具集,包括同义词、停用词、排名规则等。但与其他搜索引擎不同,这些自定义选项只是:可选。

MeiliSearch 开箱即用,预设可轻松满足大多数应用程序的需求。

对于 Meil​​iSearch,我们选择了 RESTful API,因为大多数开发人员已经熟悉它的规范。

因此,我们制作了一个快速、有效的即时搜索引擎,几乎不需要任何设置。但为什么要停在那里?MeiliSearch 的团队正在努力构建不同语言的 SDK,以便用户可以尽可能快速、轻松地索引他们的数据。我们创建了许多集成,例如用于Ruby、Python、JavaScript、PHP和Golang的 SDK,或者搜索栏的前端和Web 框架集成等。

D. 如何安装MeiliSearch?

有时,一张 gif 图像值一千个字。

为什么要使用 Meil​​iSearch 而不是 Elasticsearch?

如您所见,只需要两个命令,我们就启动并运行了一个 Meil​​iSearch 服务器。

接下来,我们将向服务器添加文档。对于此示例,我们使用了一个电影数据集,您可以在此处下载。

为什么要使用 Meil​​iSearch 而不是 Elasticsearch?

使用我们的第一个命令,我们创建一个索引。然后,我们将包含 20,000 多部电影的电影数据集添加到该索引中。之后,我们使用查询“scoutt”发出搜索请求,该查询返回 Scott Pilgrim vs. the World 以及 Scouts Guide to the Zombie Apocalypse。

这个例子是用 cURL 制作的,目的是展示 RESTful API,但使用我们的任何 SDK都一样容易。只需前往相关存储库,即可在自述文件中找到示例。

3 - Meil​​iSearch 还是 ElasticSearch?

希望现在很清楚,重要的问题不是哪个搜索引擎更好——重要的问题是,你用你的搜索引擎做什么?

MeiliSearch 不是用来搜索数十亿个大型文本文件或解析复杂查询的。这种搜索能力需要更高程度的复杂性并导致更慢的搜索体验,这与我们的即时搜索理念背道而驰。出于这些目的,请看 Elasticsearch;对于有资源实施它的公司来说,这是一个很好的解决方案。

另一方面,如果您想为最终用户提供顺畅的搜索体验,或使用包含大量关键字(例如电子商务、目录、文档等)的数据集,MeiliSearch 无疑是赢家。

通过 Meil​​iSearch,我们专注于简单的事情,以便以极少的成本提供最先进的搜索引擎。

MeiliSearch 提供开箱即用的即时搜索,因为您需要专注于其他事情

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章