今天,我们请来了 Gregory,你可能在 Github 上认识他,他的用户名是 GregoryCongad,他是我们 Meilistars 访谈的另一位嘉宾!

认识一下 Greg!

我们先来了解一下我们最新的 Star:就在去年春天,Greg 完成了在 WPI 的计算机科学本科学习,并于 2022 年底开始为 Meilisearch 做贡献。
实际上,他是在五年级的时候接触到计算机科学的。对于所有非美国人来说,那可是 10 岁!这一切都归功于他偶然发现了 著名的 MIT 网站 Scratch。一见钟情,从那时起,Greg 就对编程充满了热情。

但他并没有止步于此!

“在中学的时候,我自学了 Python、C++ 和 Java,通过阅读一些书籍和编写一些零散的副项目来学习。这些年来,我涉猎过很多语言和项目,但最终还是选择了 Rust,因为我听说了很多关于它的好话(而且炒作是有道理的!)”

真正的天才少年!而这仅仅是冰山一角,在过去的两个夏天,Greg 在亚马逊的 Alexa 项目中实习,专注于内部工具,为整个组织创建内部使用产品。当然,由于他的保密协议,关于此事无法透露更多信息,但这看起来像是高调的工作。

一个偶然的发现

有了这些经验和知识,我们不禁想知道他是如何发现 Meilisearch 的。为什么要改变一种成功的方法?就像 Scratch 一样,Greg 承认他只是偶然发现了 Meilisearch

“我正在寻找一个全文本搜索引擎,可以嵌入到 Flutter 库中,本来打算使用 TypeSense。但 TypeSense 不是我想要的,最终我在 TypeSense 文档的其中一个比较页面上发现了 Meilisearch。我意识到 Meilisearch 非常适合我的用例,尤其是在我发现它是用 Rust 编写的,而我当时正想学习 Rust 的情况下。”

我们真的很幸运能引起他的注意!我们想知道是什么让他选择尝试 Meilisearch 而不是 TypeSense,Greg 分享了两个主要原因

“1. 磁盘持久性。由于我要将它嵌入,因此在应用程序打开/关闭期间保持持久性非常重要
2. 许可证。Meilisearch 采用 MIT 许可证,而 TypeSense 采用 GPL 许可证。GPL 非常严格,所以我尽量避免使用它。”

我们的好奇心再次战胜了我们,我们忍不住问他更喜欢 Meilisearch 的哪些功能,以及哪些功能需要改进

“我最喜欢的是它架构得有多好,它非常容易将 Meilisearch 嵌入到其他 Rust 应用程序中,并且只获取你需要的功能。当然,内置的拼写容错和相关性,以及无需配置,可能是我最喜欢的产品特性!至于我想看到的改进,我希望引擎可以自动更新/在版本之间兼容。目前,你需要在版本之间进行转储,但如果这个过程能够自动进行,那就太好了(而且,正在朝着这个方向努力,比如更新内部设置存储方式)。”

这给了我们所有人很多思考的东西,我们对此非常感谢,因为倾听用户反馈是我们保持相关性和真正为您提供最佳搜索体验的最佳方式。

Greg 的个人项目怎么样?


看到 Greg 在如此年轻的时候就拥有如此丰富的经验,我们问他是否曾在专业环境或个人项目中使用过 Meilisearch

“我使用/嵌入过 Meilisearch 来创建 Mimir,它是一个 Flutter 库,它为开发者提供了一个带有拼写容错和相关性全文本搜索的设备本地 NoSQL 数据库。我最初创建 Mimir 是为了自己的一个应用程序,但我后来搁置了那个应用程序。现在,我只是作为爱好项目,在 Mimir 上工作,并为 Meilisearch 做贡献,因为我享受在两者上工作!Meilisearch 团队真的非常友好,与其他开源项目相比,这是一个很大的改变。很容易完成你的第一次贡献!”

如果你有机会,去给 Mimir 点个赞!我们非常高兴听到 Greg 对我们的第一印象是积极的,这绝对是我们追求的目标!

将 Meilisearch 嵌入到 Mimir 中实际上是 Greg 最初注意到 Meilisearch 可以改进的一些地方,从而使其变得更好!他的 首次贡献 实际上是为了解决他在将 Meilisearch 嵌入到 Mimir 中时遇到的问题而创建的!该 PR 甚至在我们的一个版本博客文章中被推荐。很明显,Greg 和 Meili 是天作之合。

非常感谢 Greg 抽出时间回答我们的问题,我们很高兴能与他共度片刻!