v1.0 版本的新功能
Meilisearch 的第一个主要版本稳定了 CLI,增强了安全性,并承诺在下一个主要版本之前不会再有重大更改。
我们很高兴地宣布 Meilisearch 的第一个主要版本已经发布!这是许多人共同努力的结果。我们很自豪地发布了完全稳定的 Meilisearch 版本,该版本将保证与 Meilisearch 未来版本的兼容性。我们非常感谢一直支持我们并帮助我们走到这一步的社区。
让我们来看看一些最重要的更改。您可以在 GitHub 上阅读完整更新日志,但我们将在本文中介绍主要的更新。
新功能:韩语支持
Meilisearch 是多语言的,并为多种语言提供优化支持。感谢我们出色的贡献者 qbx2,我们现在也支持韩语了。
改进:语言支持
感谢我们全球社区的参与、反馈、建议和 PR,我们改进了各个方面的语言支持,并对中文进行了显著增强
我们一直在寻求改进,请加入 GitHub 上关于中文支持的讨论!
我们还实现了一个新的、更高效的规范化器,以删除重音和其他非间距标记,从而改进对希伯来语、泰语、阿拉伯语和拉丁语的支持。
改进:一步升级
Meilisearch v0.20 或更低版本的用户必须执行两步迁移才能在 0.24 以上的任何版本中使用他们的数据库。直到现在。
v1.0 与所有先前版本的转储兼容。
我们简化了流程,以便任何人都可以顺利迁移到我们的第一个主要版本!请查看我们文档中的更新指南。
改进:索引和搜索速度
- 我们减少了包含多个长单词的搜索请求的内存使用量。
- 我们还降低了精确度排名规则的计算复杂性,并实施了缓存系统,从而显著提高了其性能,尤其是在包含多个单词的搜索查询方面。
- 在解释搜索查询时,多词同义词不再被视为常规搜索查询词,而是被视为短语。假设您将旧金山和 SF 设置为同义词。以下搜索请求
我很快要去 SF 了
现在将被解释为
我很快要去“旧金山”了
此更改可防止包含多词同义词的请求超出字长限制并降低搜索性能。同时,它消除了拒绝服务攻击的源头,并提高了搜索结果的相关性。 - 我们调整了以词前缀或非常短的单词结尾的搜索请求的邻近规则的行为,以实现大幅速度提升。
- 在 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 占用的磁盘空间。此更改有两个后果
- 由于操作系统对单个进程可分配的虚拟内存量存在限制,因此 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 和 @shivaylamba 对 Meilisearch 的帮助,以及感谢 @amab8901、 @GregoryConrad 和 @pnhatminh 对 Milli 的贡献。同样,我们还要感谢 @choznerol、 @crudiedo、 @daniel-shuy、 @harshalkhachane、 @mosuka、 @qbx2、 @Roms1383、 @Sokom141 和 @yenwel 在 Charabia 上提供的宝贵支持。