发布日期: 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 into invalid_search_embedder and invalid_similar_embedder. These codes are returned when the embedder parameter of a request to /search, /multi-search or /similar specifies a non-existing embedder or is not a string
    • invalid_hybrid_query has been renamed to invalid_search_hybrid_query. It is returned when the hybrid parameter contains unknown keys or is not either null 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

Fixes 🐞

Misc

❤️ Thanks again to our external contributors:

  • Meilisearch: @takaebato, @Sherlouk, @jameshiew, @K-Kumar-01, @mhmoudr, @eltociear, @Gnosnay, @DerTimonius, @manojks1999, @ellnix, @Guikingone, @migueltarga

下载链接