v0.26 版本的新功能
本月发布的版本为您带来了两个强大的新功能:租户令牌和自动批处理。

在本文中,让我们来看看 Meilisearch 最新更新中的一些最重大的变化。您可以在此处查看完整的更新日志。
新功能:租户令牌
在软件开发中,多租户意味着多个用户(也称为租户)共享相同的计算资源,但对系统范围数据的访问级别不同。在 Meilisearch 中,您可能有一个索引包含属于多个不同租户的数据。
租户令牌是加密数据的小包,其中包含安全凭证和一组搜索规则。这些搜索规则有效地限制了搜索查询可以返回哪些文档。例如,您可以使用令牌来确保医疗保健应用程序的用户只能搜索自己的医疗记录,即使所有记录都存储在同一索引中。
要开始使用租户令牌,请在您的应用程序后端设置令牌生成过程
const currentUserID = 'aUserID'; const searchRules = { 'patient_medical_records': { filter: `user_id = ${currentUserID}` } }; const apiKey = 'yourApiKey'; const expiresAt = new Date('2025-12-20'); // optional const token = client.generateTenantToken(searchRules, { apiKey: apiKey, expiresAt: expiresAt, });
创建租户令牌后,您可以将其发送到最终用户的前端并使用它来查询索引
const frontEndClient = new MeiliSearch({ host: 'http://127.0.0.1:7700', apiKey: token }); frontEndClient.index('patient_medical_records').search('blood test');
您可以在我们的专门指南中阅读有关多租户以及如何在您的应用程序中实施租户令牌的更多信息。
实验性功能:自动批处理
在提高 Meilisearch 的索引性能方面,我们经常建议用户将文档拆分成批次。但是,找到合适的批次大小可能会带来额外的挑战。一方面,大批次使用大量资源;另一方面,小批次速度明显较慢。我们知道我们可以做得更好。
在此版本中,我们引入了一个实验性的自动批处理功能。自动批处理将通过自动将连续的文档添加操作批处理在一起,帮助您提高索引速度。
您可以在启动 Meilisearch 时传递 --enable-auto-batching
标志来激活自动批处理
./meilisearch --enable-auto-batching
我们非常希望此功能将使 Meilisearch 索引编制更快且更易于使用。您可以在我们的文档网站上阅读有关自动批处理的更多信息。
我们决定以实验性状态发布它,因为此功能可能会被大量修改。我们需要您的反馈来衡量其成功并使其发展。
破坏性更改:新的 dump 行为
将 dump 导入到具有现有数据库的实例中将抛出错误,并且 Meilisearch 将不会启动。在 v0.26 之前,导入只会静默失败,并且没有指示任何地方出错。
./meilisearch --import-dump path_to_dump_file
如果您的工作流程需要,您可以使用两个新的命令行标志来抑制导入错误:--ignore-dump-if-db-exists
和 --ignore-missing-dump
。
破坏性更改:命令行标志行为
从 v0.26 开始,以下实例选项在命令行中使用时不再接受值:-no-analytics
、 --schedule-snapshot
、 --ignore-missing-snapshot
、 --ignore-snapshot-if-db-exists
、 --ssl-require-auth
、 --ssl-resumption
和 --ssl-tickets
。
# new behavior meilisearch --no-analytics # old behavior meilisearch --no-analytics=true
当将这些选项用作环境变量时,仍然需要值。
其他更改
- 空 CSV 单元格现在转换为
null
值 - 在添加和更新文档时,有效但为空的 payload 不再抛出错误
- armv8 二进制文件已被弃用,转而支持 aarch64 二进制文件
- 改进了包含非 Unicode 字符的搜索的突出显示
- 改进了
_geoPoint
排序行为
贡献者
非常感谢帮助我们的贡献者!我们要特别感谢 @robjtede、 @Thearas 和 @Samyak2——我们对你们的努力和慷慨感到敬佩。
各位,就这些了!请记住查看 GitHub 上的更新日志以获取完整的发行说明,并期待 v0.27 的到来!