新月新版本!除了新测试和占位符搜索更新等小改动外,我们很高兴地宣布,Meilisearch v0.15.0 带来了导入和导出数据库转储的功能。通过添加快照和转储,我们认为我们在数据管理功能方面取得了重要的里程碑。
快照与转储
在之前的版本中,我们引入了快照。快照使您可以安排创建数据库的硬拷贝,其中包含所有内容:所有索引、文档、设置、更新历史记录等。此功能主要用作安全措施 - 确保如果发生某些故障,您可以快速有效地重新启动 Meilisearch,而无需经历重新索引文档的麻烦。由于快照是在 Meilisearch 处理完数据库后创建的硬拷贝,因此它们在不同版本之间不兼容。
转储并非如此。 与快照一样,转储 是您的数据集的副本。但是,快照是特定于版本的,仅限于 Meilisearch 使用,而转储是可以在任何版本的 Meilisearch 上使用的副本。听起来不错吧?但是,有一个缺点:如果您从转储启动 Meilisearch,则需要索引所有文档,这会占用时间和开销。此外,转储不会复制某些特定于数据库的信息,例如更新历史记录。这是因为,从技术上讲,转储不是完全的副本 - 更像是允许您创建相同数据集的蓝图。
总而言之,快照效率很高,但不可移植 - 即使在不同版本的 Meilisearch 之间也是如此。另一方面,转储高度可移植,但效率不高,因为经常从转储启动 Meilisearch 会导致性能下降。
转储详情
要创建数据集的转储,您需要使用相应的 http 路由:POST /dumps
。使用该路由将触发转储创建过程。创建转储是一个异步任务,需要根据数据集的大小花费时间。将返回转储 uid(唯一标识符)以帮助您跟踪该过程。
$ curl -X POST 'http://localhost:7700/dumps
在任何时候,您都可以使用之前收到的转储 uid 检查特定转储创建过程的状态,如下所示:GET /dumps/:dump_uid/status
。使用此路由,您可以知道您的转储是否仍在处理、已经完成或遇到问题。
$ curl -X GET 'http://localhost:7700/dumps/:dump_uid/status'
完成转储创建过程后,将创建dump
文件并添加到转储文件夹中。默认情况下,此文件夹位于 Meilisearch 二进制文件的根目录下的/dumps
,但可以自定义。请注意,如果在调用转储创建过程时转储文件夹不存在,Meilisearch 将创建它。
./meilisearch --dumps-folder /myDumpFolder
导出转储(一个 tar.gz 文件)后,您现在可以使用该转储启动 Meilisearch。由于转储中包含的数据需要索引,因此该过程需要一些时间才能完成。只有在完全导入转储后,Meilisearch 服务器才会启动,之后您可以开始搜索数据。
./meilisearch --import-dump /myDumpFolder/12345678.tar.gz
占位符搜索更新
以前,触发占位符搜索的唯一方法是进行没有查询(或查询为空)的搜索。
占位符返回根据用户指定的排名规则排序的文档,无需输入任何查询词。它与分面和过滤兼容。
从本版本开始,使用空字符串进行搜索也将触发占位符搜索。

次要更改
贡献
我们始终渴望听到来自用户和贡献者的更多反馈!随时通过您喜欢的任何方式与我们交流。
我们也对社区的支持感到高兴,社区在星标和用户数量上都在不断增长。让我们继续保持下去!
感谢您使用我们的搜索引擎,