想要更好地控制您的搜索设置?了解我们的灵活的基础设施定价

回到主页Meilisearch 的标志
返回文章

v1.0 版本的新特性

Meilisearch 的首个主要版本稳定了 CLI,增强了安全性,并承诺在下一个主要版本发布之前不再进行破坏性更改。

2023年2月6日5分钟阅读
Carolina Ferreira
Carolina FerreiraMeilisearch 开发者布道师@CarolainFG
What’s new in v1.0

我们很高兴地宣布 Meilisearch 的首个主要版本发布了!这是许多人共同努力的结果。我们很自豪能够发布一个完全稳定的 Meilisearch 版本,这将保证与未来 Meilisearch 版本的兼容性。我们非常感谢社区的支持,他们帮助我们走到了这一步。

让我们来看看一些最重要的变化。您可以在 GitHub 上阅读完整的更新日志,但我们将在本文中介绍主要内容。

新功能:韩语支持

Meilisearch 支持多种语言,并针对多种语言进行了优化支持。感谢我们出色的贡献者 qbx2,我们现在也支持韩语。

改进:语言支持

感谢我们全球社区的参与、反馈、建议和拉取请求,我们全面改进了语言支持,特别是对中文的显著增强。

我们一直在寻求改进,欢迎在 GitHub 上加入关于中文支持的讨论

我们还实现了一个新的、更高效的规范化器,以去除重音和其他非空格标记,从而完善了对希伯来语、泰语、阿拉伯语和拉丁语的支持。

改进:一步升级

Meilisearch v0.20 或以下版本的用户必须执行两步迁移才能将其数据库与 v0.24 以上的任何版本一起使用。但现在无需如此。

v1.0 与所有以前版本的转储文件兼容。

我们简化了流程,让任何人都可以顺利迁移到我们的第一个主要版本!请查阅我们文档中的更新指南

改进:索引和搜索速度

  • 我们减少了包含多个长词的搜索请求的内存使用量。
  • 我们还降低了精确度排序规则的计算复杂度,并实现了缓存系统,从而显著提高了其性能,特别是对于包含许多单词的搜索查询。
  • 在解释搜索查询时,多词同义词不再被视为常规搜索查询词,而是短语。假设您将“San Francisco”和“SF”设置为同义词。以下搜索请求:
    I am going to SF soon
    现在将被解释为:
    I am going to "San Francisco" soon
    此更改可防止包含多词同义词的请求超出词长限制并降低搜索性能。同时,它消除了拒绝服务攻击的来源,并提高了搜索结果的相关性。
  • 我们调整了搜索请求中以前缀或非常短的单词结尾的近邻规则行为,以实现显著的速度提升。
  • 在 v1.0 之前,如果设置对象包含可搜索属性,更新设置总是触发重新索引。现在,Meilisearch 会检查是否有任何更改,以避免不必要的重新索引。非常感谢 GregoryConrad 实现了这一点!

重大更改

您会很高兴地知道,以下是我们将在 v2.0 之前引入的最后一次重大更改 🥳 您可以放松一段时间,v2.0 尚未计划 ☺️

查看我们的新版本策略以了解更多关于破坏性更改的信息。

新的主键安全要求

为了加强安全性,当服务器环境设置为 production 时,Meilisearch 现在要求主键至少为 16 字节。如果未提供主键或不符合标准,Meilisearch 将建议一个安全的自动生成主键,您可以在重新启动实例时使用。

主键推断的改进

在 Meilisearch 中创建索引或添加文档时,您可以显式设置主键,也可以让 Meilisearch 从您的数据集中推断出来。

为了猜测主键(也称为推断),Meilisearch 过去会在您的第一个文档中查找**包含**字符串 id 的属性。现在,它会查找**以**字符串 id 结尾的属性。

此外,如果检测到多个以 id 结尾的属性,Meilisearch 现在将抛出错误,要求您使用更新索引端点手动指定主键。

新的 CLI 行为

--max-index-size--max-task-db 已被移除,因为它们实际上并未限制 Meilisearch 占用的磁盘空间。此更改有两个后果:

  1. 由于操作系统对单个进程可分配的虚拟内存量的限制,Meilisearch 数据库中可同时存在的索引数量为:
  • Linux/macOS 大约 200 个
  • Windows 大约 20 个

2. 索引大小限制为 500GiB

虽然我们计划在 v1.1 中解除上述限制,但如果这些更改中的任何一项影响到您,您的意见将非常有帮助。您可以在此GitHub 讨论中找到更多详细信息。

自 v0.26 引入以来,自动批处理功能已证明其价值。用于调试目的的 disable-auto-batching CLI 选项和相关的环境变量 MEILI_DISABLE_AUTO_BATCHING 已不再需要,并已被删除。

我们还移除了 --snapshot-interval-sec 标志,以简化快照调度。

之前:

meilisearch --schedule-snapshot --snapshot-interval-sec 3600

之后:

meilisearch --schedule-snapshot 3600
# If no value is provided, Meilisearch will take a new snapshot every 24 hours.

最后,为了保持一致性,--dumps-dir CLI 选项已更名为 --dump-dir,这更符合惯用语并与其他现有选项保持一致。

错误处理改进

为了在使用 API 时提供更高的清晰度和可预测性,我们添加了细粒度的错误代码和新的 system 错误类型。您可以在更新日志中查阅详细列表。

贡献者

非常感谢所有贡献者!没有你们的支持,我们不可能达到这个里程碑。你们真的非常棒,我们对你们为 Meilisearch 付出的所有努力、建议、评论和时间感激不尽。我们非常感谢拥有这样一个了不起的社区。

本月,我们想特别感谢 @amab8901@colbsmcdolbs@elbertronnie@funilrys@jiangbo212@mohitsaxenaknoldus@shivaylambaMeilisearch 的帮助,以及 @amab8901@GregoryConrad@pnhatminhMilli 的贡献。同样,我们还要感谢 @choznerol@crudiedo@daniel-shuy@harshalkhachane@mosuka@qbx2@Roms1383@Sokom141@yenwelCharabia 的宝贵支持。

Meilisearch 1.16

Meilisearch 1.16

Meilisearch 1.16 引入了多模态嵌入和新的 API,用于在实例之间传输数据。

Laurent Cazanove
Laurent Cazanove2025年8月5日
Meilisearch 1.15

Meilisearch 1.15

Meilisearch 1.15 引入了新的拼写容错设置、字符串过滤器比较运算符,并改进了对中文的支持。

Carolina Ferreira
Carolina Ferreira2025年6月10日
Meilisearch 1.14

Meilisearch 1.14

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

Carolina Ferreira
Carolina Ferreira2025年4月14日
© . This site is unofficial and not affiliated with Meilisearch.