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 的索引更快、更易于使用。您可以在我们的文档网站上阅读更多关于自动批处理的信息。
我们决定以实验状态发布此功能,因为它可能会进行大量修改。我们需要您的反馈来衡量其成功并使其发展。
重大变更:新的转储行为
将转储导入到具有现有数据库的实例中将抛出错误,并且 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
值 - 添加和更新文档时,有效但为空的有效负载不再抛出错误
- armv8 二进制文件已弃用,转而支持 aarch64 二进制文件
- 改进了包含非 Unicode 字符的搜索的高亮显示
- 改进了
_geoPoint
排序行为
贡献者
非常感谢所有帮助过我们的贡献者!我们要特别感谢 @robjtede、@Thearas 和 @Samyak2——我们为您的努力和慷慨深感荣幸。
就这些了,各位!请记得查看 GitHub 上的更新日志以获取完整的发布说明,v0.27 再见!