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 实例集上设置相同的远程,然后使用 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 或更高版本升级到 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上的开发者社区。