meilisearch v1.13.0 版本更新介绍
发布日期: 2025-02-17
版本号: v1.13.0
Meilisearch v1.13版本正式稳定了AI驱动的搜索功能,默认向所有用户开放且无需手动启用。该版本新增两项实验性功能:一是通过添加
--experimental-dumpless-upgrade
参数实现无需生成转储文件的无转储升级(建议升级前备份数据),二是通过配置网络实现跨多个Meilisearch实例的联合搜索请求,适用于处理超大型数据库。其他改进包括优化任务自动批处理性能、新增Prometheus指标监控任务队列延迟、加速索引列表请求、支持安装脚本的GITHUB_TOKEN认证,并在统计接口中新增数据库占用空间和嵌入信息字段。此外修复了过滤属性错误提示、索引地理数据异常等问题,并进行了依赖项更新及测试流程优化。所有官方集成工具已适配新版本,但部分SDK可能暂未包含全部新功能,用户可通过提交issue或PR参与功能完善。
更新内容 (中文)
详见原始内容
更新内容 (原始)
Meilisearch v1.13 stabilizes AI-powered search integration! 🎉 This release also introduces two new experimental features: upgrading to new Meilisearch releases without generating a dump and making federated requests across multiple Meilisearch instances.
🧰 All official Meilisearch integrations (including SDKs, clients, and other tools) are compatible with this Meilisearch release. Integration deployment takes 4 to 48 hours after a new version becomes available.
Some SDKs might not include all new features. Consult the project repository for detailed information. Is a feature you need missing from your chosen SDK? Create an issue letting us know you need it, or, for open-source karma points, open a PR implementing it (we’ll love you for that ❤️).
New features and updates 🔥
AI-powered search and vector store stabilization
With v1.13, AI-powered search is available to all users by default and no longer requires manual activation.
Breaking Changes
vectorStore
is no longer an accepted value for the/experimental-features
route- Ollama URLs must end with either
/api/embed
or/api/embeddings
- Modified error codes:
invalid_embedder
has been split intoinvalid_search_embedder
andinvalid_similar_embedder
. These codes are returned when theembedder
parameter of a request to/search
,/multi-search
or/similar
specifies a non-existing embedder or is not a stringinvalid_hybrid_query
has been renamed toinvalid_search_hybrid_query
. It is returned when thehybrid
parameter contains unknown keys or is not eithernull
or an object
Done by @dureuill in https://github.com/meilisearch/meilisearch/pull/5232 & https://github.com/meilisearch/meilisearch/pull/5234
Experimental feature: Dumpless upgrades
Use --experimental-dumpless-upgrade
after updating the Meilisearch binary to migrate to a new release:
./meilisearch --experimental-dumpless-upgrade
This faster and more efficient process does not require you to generate a dump and pass it to Meilisearch when upgrading to a new release.
[!WARNING] Meilisearch strongly recommends you generate a backup snapshot before migrating. This is an experimental feature, and failed upgrades may lead to database corruption.
Read more about it on the dedicated product discussion.
Done by @irevoire and @dureuill in https://github.com/meilisearch/meilisearch/pull/5264
Experimental feature: Remote federated search requests
Use remote federated search requests together with the /multi-search
route to query multiple Meilisearch instances simultaneously. This is particularly useful when handling very large databases.
First, use the /experimental-features
route to enable network
:
curl \
-X PATCH 'MEILISEARCH_URL/experimental-features/' \
-H 'Content-Type: application/json' \
--data-binary '{
"network": true
}'
Next, set up your network of Meilisearch instances with a call to PATCH /network
configuring one self
and multiple remotes
:
curl \
-X PATCH 'MEILISEARCH_URL/network/' \
-H 'Content-Type: application/json' \
--data-binary '{
"remotes": {
"ms-0": {
"url": "http://ms-1235.example.meilisearch.io",
"searchApiKey": "Ecd1SDDi4pqdJD6qYLxD3y7VZAEb4d9j6LJgt4d6xas"
},
"ms-1": {
"url": "http://ms-4242.example.meilisearch.io",
"searchApiKey": "hrVu-OMcjPGElK7692K7bwriBoGyHXTMvB5NmZkMKqQ"
}
},
"self": "ms-0"
}'
Repeat this process with every instance in your network, then add documents. Do not send the same documents to different instances.
Finally, make a /multi-search
query with the new federationOptions.remote
:
curl \
-X PATCH 'MEILISEARCH_URL/multi-search/' \
-H 'Content-Type: application/json' \
--data-binary '{
"federation": {},
"queries": [
{
"q": "Batman returns dark",
"indexUid": "movies",
"federationOptions": {
"remote": "ms-0"
}
},
{
"q": "Batman returns dark",
"indexUid": "movies",
"federationOptions": {
"remote": "ms-1"
}
}
]
}'
Find more information about this feature on the public usage page
Other improvements
- Improve task auto-batching by exposing a way to limit the total size of a batch by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5223
- Add Prometheus metrics to measure task queue latency by @takaebato in https://github.com/meilisearch/meilisearch/pull/5178
- Speed up the request to list indexes by @irevoire in https://github.com/meilisearch/meilisearch/pull/5166
- Add support for
GITHUB_TOKEN
authentication in installation script by @Sherlouk in https://github.com/meilisearch/meilisearch/pull/5216 - Expose a new
usedDatabaseSize
field on the/stats
route by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5314 - Expose embeddings info on the
/stats
route by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5341
Fixes 🐞
- Improve error message when an attribute is not filterable by @jameshiew in https://github.com/meilisearch/meilisearch/pull/5135
- Make sure indexing embeddings is using the right number of threads by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5322
- Dumpless upgrade will no longer corrupt the database in case of early stop by @irevoire in https://github.com/meilisearch/meilisearch/pull/5316
- Fix export/import dump that contains batches data by @irevoire in https://github.com/meilisearch/meilisearch/pull/5310
- Make sure indexing geo points works with PUT requests by @dureuill in https://github.com/meilisearch/meilisearch/pull/5332
- Add back semantic search timeout from v1.11.3 by @dureuill in https://github.com/meilisearch/meilisearch/pull/5339
Misc
- Dependency updates
- Upgrade dependencies to fix the
idna
severity issue by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5218
- Upgrade dependencies to fix the
- CIs and tests
- Split tests into separate files by @K-Kumar-01 in https://github.com/meilisearch/meilisearch/pull/5134, https://github.com/meilisearch/meilisearch/pull/5171, https://github.com/meilisearch/meilisearch/pull/5174
- Remove obsolete test code by @K-Kumar-01 in https://github.com/meilisearch/meilisearch/pull/5173
- Fix flaky batches test by @irevoire in https://github.com/meilisearch/meilisearch/pull/5175
- Remove hard coded task IDs to prevent flaky tests by @mhmoudr in https://github.com/meilisearch/meilisearch/pull/5182
- Improve test performance of get_index.rs by @DerTimonius in https://github.com/meilisearch/meilisearch/pull/5210
- Other
- Instruct users to create custom reports on the benchboard by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5029
- Fix typo in a comment by @eltociear in https://github.com/meilisearch/meilisearch/pull/5184
- Replace hardcoded string with constants by @Gnosnay in https://github.com/meilisearch/meilisearch/pull/5169
- Refactor index-scheduler by @irevoire in https://github.com/meilisearch/meilisearch/pull/5199
- Refactor indexer by @dureuill in https://github.com/meilisearch/meilisearch/pull/5168
- Auto-generate OpenAPI spec by @irevoire in https://github.com/meilisearch/meilisearch/pull/4867 & https://github.com/meilisearch/meilisearch/pull/5231
- Merge bitmaps by using
Extend::extend
by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5221 - Fix issue introduced by dumpless upgrade by @manojks1999 in https://github.com/meilisearch/meilisearch/pull/5284
- Send the OSS analytics once per day instead of once per hour by @irevoire in https://github.com/meilisearch/meilisearch/pull/5312
- Log more metrics around HTTP embedder requests and ANNs in arroy by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5288
- Fix internal error when not correctly using the
documentTemplateMaxBytes
parameter by @dureuill in https://github.com/meilisearch/meilisearch/pull/5306 - When a batch is deleted it no longer keeps some internal data in the DB @Kerollmops and @irevoire in https://github.com/meilisearch/meilisearch/pull/5272
- Fix a rare stack overflow when using remote embedders by @Kerollmops with the help of @dureuill https://github.com/meilisearch/meilisearch/pull/5294 (from v1.12.8)
- Fix Dotnet tests in sdks-tests.yml by @curquiza in https://github.com/meilisearch/meilisearch/pull/5291
- Debug log the channel congestion by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5177
- Improve unexpected panic message by @irevoire in https://github.com/meilisearch/meilisearch/pull/5300
- Introduce a compaction subcommand in meilitool by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5235
- Expose a route to get the file content associated with a task by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/5326
- Fix workload sha for the benchmark by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/5342
❤️ Thanks again to our external contributors:
- Meilisearch: @takaebato, @Sherlouk, @jameshiew, @K-Kumar-01, @mhmoudr, @eltociear, @Gnosnay, @DerTimonius, @manojks1999, @ellnix, @Guikingone, @migueltarga