Meilisearch 1.13
Meilisearch 1.13 稳定了 AI 驱动的搜索,引入了远程联邦搜索——为分片奠定了基础——并使版本升级更加容易。

我们很高兴推出 Meilisearch v1.13。在本文中,我们将介绍最重要的更改。有关更新的完整列表,请访问 GitHub 上的更新日志。
Meilisearch 1.13 也可在 Meilisearch Cloud 上使用——立即升级!
AI 驱动的搜索
我们很高兴地宣布,AI 驱动的搜索现在已完全稳定!
我们的向量存储在 v1.3 中首次发布,现已发展为来自常见提供商的自动嵌入、语义和混合搜索,始终基于我们社区的宝贵反馈。此功能现在已准备好退出实验阶段。
因此,您不再需要使用 /experimental-features
路由来激活它。
v1.13 引入了 AI 驱动的搜索功能的最后一次重大更改。
重大更改:接受的 Ollama URL
只有当 Ollama URL 以 /api/embed
和 /api/embeddings
结尾时才会被接受,传递不受支持的端点现在将触发 Meilisearch 上的错误
重大更改:错误代码修改
在 1.13 之前,如果嵌入器配置丢失或不是字符串,Meilisearch 将为搜索和相似性请求返回 invalid_embedder
错误。
它已拆分为
invalid_search_embedder
:用于搜索请求invalid_similar_embedder
:用于相似性请求
当 hybrid
搜索参数无效时,现在返回错误 invalid_search_hybrid_query
而不是 invalid_hybrid_search
。
实验性功能:远程联邦搜索
新的 网络路由 实现了跨多个 Meilisearch 实例的分布式搜索。与联邦搜索相结合,这简化了水平数据库分区策略(如分片)的实施。
通过 /experimental-features
路由激活此功能。如果您正在使用 Meilisearch Cloud,请联系支持人员以在您的项目中启用此功能。
使用 remotes
对象来定义应参与搜索的 Meilisearch 实例。
PATCH /network { "remotes": { "ms-01": { "url": "http://ms-1.example.meilisearch.io", "searchApiKey": "SEARCH_KEY_1" }, "ms-02": { "url": "http://ms-2.example.meilisearch.io", "searchApiKey": "SEARCH_KEY_2" } } }
在所有 Meilisearch 实例集上设置相同的 remotes,然后使用 self
为每个实例配置其自己的标识符。self
的值必须与 remotes 中的相应键匹配
PATCH /network { "self": "ms-01" }
您现在可以执行远程联邦搜索
POST /multi-search { "federation": { // enable federated mode "limit": 5 }, "queries": [ { // #0 "q": "Batman", "indexUid": "movies", "federationOptions": { "remote": "ms-01" } }, { // #1 "q": "Batman", "indexUid": "movies", "federationOptions": { "remote": "ms-02" } } ] }
实验性功能:新的无转储升级
现在,您可以从 Meilisearch >=v1.12 升级到 Meilisearch >=v1.13,而无需使用转储。
只需安装最新版本的 Meilisearch 并使用实例选项重新启动它
--experimental-dumpless-upgrade
标志- 或
MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE
环境变量
⚠️ 由于这是一项实验性功能,请先使用快照备份所有重要数据。
新的统计信息
Meilisearch 1.3 向统计对象引入了 3 个新字段
numberOfEmbeddedDocuments
:至少包含一个嵌入的文档总数numberOfEmbeddings
:索引中嵌入的总数usedDatabaseSize
:数据库使用的存储空间(以字节为单位),不包括 LMDB 声明的未使用空间。与databaseSize
不同,此值在删除文档时会减小。
以下是返回的示例统计对象(截至 Meilisearch 1.13)
GET /stats { "databaseSize": 447819776, "usedDatabaseSize": 196608, "lastUpdate": "2019-11-15T11:15:22.092896Z", "indexes": { "movies": { "numberOfDocuments": 19654, "numberOfEmbeddedDocuments": 1, "numberOfEmbeddings": 1, "isIndexing": false, "fieldDistribution": { "poster": 19654, "overview": 19654, "title": 19654, "id": 19654, "release_date": 19654 } }, "books": { "numberOfDocuments": 5, "numberOfEmbeddedDocuments": 5, "numberOfEmbeddings": 10, "isIndexing": false, "fieldDistribution": { "id": 5, "title": 5, "author": 5, "price": 5, "genres": 5 } } } }
贡献者致谢
我们非常感谢外部贡献者帮助实现了此版本的发布。感谢 @takaebato、@Sherlouk、@jameshiew、@K-Kumar-01、@mhmoudr、@eltociear、@Gnosnay、@DerTimonius、@manojks1999、@ellnix、@Guikingone、@migueltarga 对 Meilisearch 的贡献。
v1.13 的内容就到这里!这些发行说明仅重点介绍了最重要的更新。有关详尽的列表,请阅读 GitHub 上的更新日志。
有关更多信息,请订阅我们的每月新闻通讯,查看路线图,或加入我们的产品讨论。
如有任何其他问题,请加入我们在 Discord 上的开发者社区。