前往主页Meilisearch 的标志
返回文章
2021年7月1日

重构 Meilisearch:v0.21 正式登场

MeiliSearch v0.21 即将推出!来看看我们新版本内部的一些变化。

Clémentine Urquizar
Clémentine UrquizarMeilisearch 工程负责人
Refactoring Meilisearch: v0.21 has entered the chat

今天,我们发布了 Meilisearch v0.21 的第一个发布候选版本 (RC)。这是 Meilisearch 下一个版本的第一步,也是一个非常重要的一步,因为这将是我们自三月以来的第一个主要版本。

v0.21 的大部分内容对大多数终端用户来说将是相对不可见的:我们的核心团队一直在努力重构 Meilisearch 的引擎,这项工作既耗时又对我们代码库的长期健康至关重要。在这篇文章中,我想阐述我们为什么决定重构 Meilisearch,它如何影响了我们的产品,以及我们接下来会走向何方。

我们不会讨论 v0.20 和 v0.21 之间所有变化——那将是另一篇博文的内容——但我们将提及几个我们最兴奋的新功能。

为什么需要重构?

我们最初意识到出了问题,是当我们的核心团队在不影响性能的情况下添加新功能变得越来越困难时。我们看到我们的代码变得越来越难以维护,这对于一个开源项目来说尤其令人担忧:我们的社区是我们最大的盟友,如果想让我们的盟友满意,保持代码整洁、可读和易于使用至关重要。我们显然已经达到了旧代码库在性能和易用性方面能提供给我们的极限,所以我们决定是时候做出改变了。

进展如何?

我们有很多好消息——但是,正如任何主要的软件发布一样,我们也有一些未能实现的目标。

搜索相关性

v0.21.0 将提供使您的搜索更相关的新方法

  • 您现在可以将数字属性用作分面——例如产品的价格或图书的发布日期
  • 这实际上是我们的用户所要求的:Algolia 的 words 标准的等效功能现已在 Meilisearch 中提供
  • 短语搜索:用户现在可以通过将查询词用双引号 (") 括起来,强制引擎只返回精确匹配结果
  • 高亮显示现已支持数组和对象值

搜索性能

使用 Meilisearch 搜索大型数据集从未如此之快!在包含约 1.15 亿文档的 1GB 数据集上

  • 返回大量结果的查询速度提升了十倍以上:在 v0.21 中,搜索单个字母所需时间不到 50 毫秒,而 v0.20 中则需要 2 秒。
  • 对数字进行过滤时也有类似的提速:在 v0.21 中,大多数搜索所需时间不到 50 毫秒。

索引

TLDR; 在大多数情况下,索引现在更快了,但也有例外。仍有很大的改进空间!

首先,好消息是:重构后的搜索引擎使索引速度整体上更快了。

不幸的是,我们发现在 v0.21 中解析包含冗长描述值(例如带有摘录和摘要的博客文章列表或科学文章)的数据集时,性能有所下降。这并不完全出乎意料:新的搜索引擎需要更多的计算,这意味着索引可能需要更长时间。这并非理想情况,但我们宁愿发布一个尚未完全优化但包含所有新功能的产品,也不愿推迟 v0.21 的发布。请放心,我们正在尽最大努力改进索引性能。

另一个坏消息是:尽管我们已经在正确方向上迈出了重要一步,并全面降低了内存消耗,但 Meilisearch 有时因内存使用过度而崩溃的问题仍未解决。这将是我们在未来工作的另一个优先事项。

是否存在破坏性变更??

确实存在!我们尽力避免破坏性变更,但当我们想要持续改进并使我们的 API 更易于使用时,这并非总是可能。v0.21 重构带来的两个最大变化是

  • 参数 filtersfacetFilter 已被 filter 替代。两个参数做几乎相同的事情,在过滤查询结果时增加了不必要的复杂性。
  • 我们认为一些命名更改使 Meilisearch 的使用更加直观。这些更改都不会对最终用户体验产生任何影响。完整列表将在 v0.21 正式发布时提供。

接下来?

一旦 v0.21 在未来三个月内正式发布,我们将恢复每月发布周期。我们特别期待开发 sortBy 和地理搜索——这两个功能是我们的用户强烈要求的功能。我们清晰地听到了您的声音!

如果您对 Meilisearch 即将发布的版本感到好奇,请随时测试并向我们提供尽可能多的反馈——我们依赖您来发现尽可能多的剩余错误。您可以在 GitHub 上下载发布候选版本

此外,一条建议:我们不建议在生产环境中使用此 RC 版本。我们相信 v0.21 RC1 看起来相当不错,但在正式推出之前,我们仍有一些问题需要解决。

再次感谢,期待 v0.21.0 官方版本发布时再见!

Meilisearch 1.14

Meilisearch 1.14

Meilisearch 1.14 引入了新的实验性功能,包括复合嵌入器和嵌入缓存以提升性能。它还增加了核心功能,例如细粒度可过滤属性和通过 ID 批量检索文档。

Carolina Ferreira
Carolina Ferreira2025年4月14日
Meilisearch AI launch week recap

Meilisearch AI 发布周回顾

Meilisearch AI 发布回顾:利用 AI 和个性化改造搜索

Maya Shin
Maya Shin2025年3月28日
Introducing Meilisearch's next-generation indexer: 4x faster updates, 30% less storage

隆重推出 Meilisearch 下一代索引器:更新速度快 4 倍,存储空间减少 30%

2024 年版索引器通过并行处理、优化的 RAM 使用和增强的可观察性彻底改变了搜索性能。查看我们最新版本中的新功能。

Louis Dureuil
Louis Dureuil2025年2月26日