这个月,我们很高兴地宣布我们的最新功能:快照 📸。现在可以创建和恢复 Meilisearch 快照,并在自定义间隔安排快照创建。

借助此新功能,您可以将 Meilisearch 状态导出到兼容版本,并从先前兼容状态恢复 Meilisearch。

快照

快照是在创建快照时数据库的精确副本。快照不经过任何处理。 

创建快照

为了让 Meilisearch 创建快照,必须通过指定保存快照的目录路径来启用此功能。

meilisearch --snapshot-path mySnapShots/ 
Meilisearch 在 mySnapShots 文件夹中创建快照

默认情况下,Meilisearch 每一天安排一次快照创建。实例启动时,它将等待 24 小时,直到创建第一个快照。这意味着,如果您在星期二下午 4 点启动了 Meilisearch,第一个快照将在星期三下午 4 点创建,并以此类推,每天如此。

可以使用 --snapshot-interval-sec 标志修改计划。

meilisearch --snapshot-path mySnapShots/ --snapshot-interval-sec 3600
现在,每小时将创建一次快照。

在创建快照期间,快照会覆盖。也就是说,文件夹中只存在最后一个快照。

从快照开始

由于快照是未经任何处理的数据库的压缩副本,因此从其中一个快照启动 Meilisearch 实例要快得多。

使用全局环境 MEILI_LOAD_FROM_SNAPSHOT 或 CLI 标志 --load-from-snapshot,Meilisearch 将使用提供的快照启动服务器。

meilisearch --load-from-snapshot mySnapShots/data.ms.tar.gz

如果数据库已存在,或者在给定路径上找不到快照,Meilisearch 将停止处理并抛出错误。

要忽略这些错误中的任何一个,您可以添加以下标志:--ignore-missing-snapshot=true 和/或 --ignore-snapshot-if-db-exists=true

用例

快照是在出现问题时的保障。如果您的 Meilisearch 实例遇到问题,或者您在操作数据库时犯了错误,使用最新快照重新启动实例是恢复数据的简便方法。

版本兼容性

由于快照是数据库的副本,因此只有在您的 Meilisearch 运行在其创建的版本上时,它才会恢复该副本。

其他更改

此版本还修复了几个错误并带来了一些改进
- 桶排序中的解包错误,导致 Meilisearch 出现恐慌
- 分面分布中的错误大小写
- Web 界面增强功能

贡献


感谢 @TaKO8Ki 本月的贡献。

我们渴望听到一些反馈。随时来以您喜欢的任何方式与我们交谈。我们对我们的搜索引擎收到的所有支持以及用户和星标不断增长感到兴奋。

非常感谢,