meilisearch v1.44.0 版本更新介绍
发布日期: 2026-05-18
版本号: v1.44.0
Meilisearch v1.44.0版本带来了远程联合分面搜索、索引性能优化等多项改进与问题修复,同时也包含若干需要注意的破坏性变更。主要更新包括:当启用网络分片功能时,分面搜索默认改为远程联合模式,会从网络中所有分片获取并合并结果;外部REST嵌入器的调用超时现在与索引中定义的
searchCutOffMs参数绑定。改进方面,新版本支持跨网络分片进行分面搜索,降低了索引过程中的内存占用,优化了GeoJSON数据的索引性能,并在统计接口中新增了更易读的数据库大小格式及内部数据库详情展示。此外,修复了网络中设置变更同步、聊天路由在特定条件下失败以及防止网络配置修改时意外重命名远程节点等问题。
更新内容 (中文)
Meilisearch v1.44.0 新增了远程联合分面搜索、索引性能改进以及其他改进和错误修复。它还包含几个破坏性变更,详细说明如下。
破坏性变更
- 当使用
network实验性功能并启用分片(网络配置中leader不为null)时,POST /indexes/{indexUid}/facet-search调用现在默认执行远程联合分面搜索,从网络中所有分片获取并合并结果。 - 调用外部 REST 嵌入器的超时时间现在与索引中定义的
searchCutOffMs绑定,而非固定值。- 如果在升级后观察到语义搜索结果缺失或纯语义搜索出现 HTTP 500 错误,请在索引设置中增加搜索截断值。
- 由 @dureuill 在 https://github.com/meilisearch/meilisearch/pull/6377 提交
🌈 改进
远程分面搜索
Meilisearch 现在能够通过现有的专用分面搜索路由,在网络的所有分片上进行分面搜索。
- 如果您使用
network实验性功能并为网络定义了leader,则调用POST /indexes/{indexUid}/facet-search时现在默认进行远程调用 - 可以通过 分面搜索对象 的新
useNetwork参数显式控制此行为。
由 @dureuill 在 https://github.com/meilisearch/meilisearch/pull/6375 提交
降低索引内存使用量
减少计算前缀时分配的内存,并加速某些操作以避免不必要的反序列化。
如果引擎在后处理期间仍然出现高内存使用情况,建议使用 --experimental-reduce-indexing-memory-usage 选项。
由 @Kerollmops 在 https://github.com/meilisearch/meilisearch/pull/6334 提交
提升 GeoJSON 索引性能
此 PR 将 cellulite 库升级到包含 GeoJSON 索引优化的版本。通过此更改,GeoJSON 索引避免了重新处理已在密集单元中索引的文档,仅在递归单元树中增量处理新增文档。
由 @YoEight 在 https://github.com/meilisearch/meilisearch/pull/6374 提交
统计信息中的人类可读大小格式和详细数据库大小
为 GET /indexes/{indexUid}/stats 和 GET /stats 添加了两个新的查询参数:
showInternalDatabaseSizes:布尔值,可选,默认为false。存在时,统计路由响应中的索引统计对象现在包含额外的internalDatabaseSizes键,其值是内部数据库名称及其在索引中当前大小的字典,类似于批处理的统计对象。sizeFormat:human或raw:可选,默认为raw。存在且设置为human时,统计路由响应中的所有数据库大小将作为包含适当单位(MiB、GiB 等)的字符串返回。缺失或设置为raw时,则保留当前以字节数表示大小的行为。
集成说明:internalDatabaseSizes 中的键可能会发生变化,不应作为强类型对象暴露。这与批处理统计中现有的 internalDatabaseSizes 相同。
向索引统计添加 `showInternalDatabaseSizes`
```jsonc // curl -X GET \"http://localhost:7700/indexes/movies/stats?showInternalDatabaseSizes=true\" { \"numberOfDocuments\": 31944, \"rawDocumentDbSize\": 20594688, \"avgDocumentSize\": 636, \"isIndexing\": false, \"internalDatabaseSizes\": { \"wordPairProximityDocids\": 100827136, \"documents\": 20594688, \"wordPositionDocids\": 18694144, \"wordFidDocids\": 10715136, \"wordPrefixPositionDocids\": 10256384, \"wordDocids\": 9453568, \"wordPrefixFidDocids\": 4603904, \"wordPrefixDocids\": 3424256, \"main\": 1425408, \"externalDocumentsIds\": 999424, \"fieldIdWordCountDocids\": 245760, \"exactWordPrefixDocids\": 16384, \"celluliteMetadata\": 16384 }, \"numberOfEmbeddings\": 0, \"numberOfEmbeddedDocuments\": 0, \"fieldDistribution\": { \"genres\": 31944, \"id\": 31944, \"overview\": 31944, \"poster\": 31944, \"release_date\": 31944, \"title\": 31944 } } ```向全局统计添加 `showInternalDatabaseSizes` 和 `sizeFormat=human`
```jsonc // curl -X GET \"http://localhost:7700/stats?showInternalDatabaseSizes=true&sizeFormat=human\" { \"databaseSize\": \"351.38 MiB\", \"usedDatabaseSize\": \"350.64 MiB\", \"lastUpdate\": \"2026-04-16T13:07:02.74243Z\", \"indexes\": { \"comics\": { \"numberOfDocuments\": 31944, \"rawDocumentDbSize\": \"23.14 MiB\", \"avgDocumentSize\": \"751 B\", \"isIndexing\": false, \"internalDatabaseSizes\": { \"wordPairProximityDocids\": \"98.06 MiB\", \"documents\": \"23.14 MiB\", \"wordPositionDocids\": \"17.22 MiB\", \"wordFidDocids\": \"10.36 MiB\", \"wordPrefixPositionDocids\": \"9.47 MiB\", \"wordDocids\": \"8.97 MiB\", \"wordPrefixFidDocids\": \"4.36 MiB\", \"wordPrefixDocids\": \"3.27 MiB\", \"main\": \"1.36 MiB\", \"externalDocumentsIds\": \"944 KiB\", \"fieldIdWordCountDocids\": \"240 KiB\", \"exactWordPrefixDocids\": \"16 KiB\", \"celluliteMetadata\": \"16 KiB\" }, \"numberOfEmbeddings\": 0, \"numberOfEmbeddedDocuments\": 0, \"fieldDistribution\": { \"genres\": 31944, \"id\": 31944, \"overview\": 31944, \"poster\": 31944, \"release_date\": 31944, \"title\": 31944 } }, \"movies\": { \"numberOfDocuments\": 31944, \"rawDocumentDbSize\": \"19.64 MiB\", \"avgDocumentSize\": \"636 B\", \"isIndexing\": false, \"internalDatabaseSizes\": { \"wordPairProximityDocids\": \"96.16 MiB\", \"documents\": \"19.64 MiB\", \"wordPositionDocids\": \"17.83 MiB\", \"wordFidDocids\": \"10.22 MiB\", \"wordPrefixPositionDocids\": \"9.78 MiB\", \"wordDocids\": \"9.02 MiB\", \"wordPrefixFidDocids\": \"4.39 MiB\", \"wordPrefixDocids\": \"3.27 MiB\", \"main\": \"1.36 MiB\", \"externalDocumentsIds\": \"976 KiB\", \"fieldIdWordCountDocids\": \"240 KiB\", \"exactWordPrefixDocids\": \"16 KiB\", \"celluliteMetadata\": \"16 KiB\" }, \"numberOfEmbeddings\": 0, \"numberOfEmbeddedDocuments\": 0, \"fieldDistribution\": { \"genres\": 31944, \"id\": 31944, \"overview\": 31944, \"poster\": 31944, \"release_date\": 31944, \"title\": 31944 } } } } ```不带任何参数的调用与以前版本相同。
```jsonc // curl -X GET \"http://localhost:7700/stats\" { \"databaseSize\": 368443392, \"usedDatabaseSize\": 367673344, \"lastUpdate\": \"2026-04-16T13:07:02.74243Z\", \"indexes\": { \"comics\": { \"numberOfDocuments\": 31944, \"rawDocumentDbSize\": 24264704, \"avgDocumentSize\": 751, \"isIndexing\": false, \"numberOfEmbeddings\": 0, \"numberOfEmbeddedDocuments\": 0, \"fieldDistribution\": { \"genres\": 31944, \"id\": 31944, \"overview\": 31944, \"poster\": 31944, \"release_date\": 31944, \"title\": 31944 } }, \"movies\": { \"numberOfDocuments\": 31944, \"rawDocumentDbSize\": 20594688, \"avgDocumentSize\": 636, \"isIndexing\": false, \"numberOfEmbeddings\": 0, \"numberOfEmbeddedDocuments\": 0, \"fieldDistribution\": { \"genres\": 31944, \"id\": 31944, \"overview\": 31944, \"poster\": 31944, \"release_date\": 31944, \"title\": 31944 } } } } ```由 @dureuill 在 https://github.com/meilisearch/meilisearch/pull/6338 提交
🦋 修复
- 通过设置子路由(不是 “所有设置"路由)执行的设置更改现在会正确传播到网络上的其他远程节点。由 @dureuill 在 https://github.com/meilisearch/meilisearch/pull/6380 提交
- 在某些情况下使用 Mistral 作为提供商时,聊天路由不再失败。由 @renezander030 在 https://github.com/meilisearch/meilisearch/pull/6327 提交
- 防止在修改网络配置时意外重命名远程节点。由 @dureuill 在 https://github.com/meilisearch/meilisearch/pull/6370 提交
🔩 其他变更
- 将 searchable 的布尔值替换为 PatternMatch,由 @ManyTheFish 在 https://github.com/meilisearch/meilisearch/pull/6344 提交
- 在联合搜索元数据中添加查询,由 @StephaneRob 在 https://github.com/meilisearch/meilisearch/pull/6371 提交
- 移除功能问题的 issue 模板,由 @curquiza 在 https://github.com/meilisearch/meilisearch/pull/6372 提交
- 改进健康检查路由的文档,由 @Kerollmops 在 https://github.com/meilisearch/meilisearch/pull/6376 提交
新贡献者
- @renezander030 在 https://github.com/meilisearch/meilisearch/pull/6327 贡献了他们的首次提交
- @quyentonndbs 在 https://github.com/meilisearch/meilisearch/pull/6382 贡献了他们的首次提交
完整变更日志:https://github.com/meilisearch/meilisearch/compare/v1.43.1…v1.44.0
更新内容 (原始)
Meilisearch v1.44.0 adds remote federated facet search, indexing performance improvements, and other improvements and bugfixes. It also contains a couple of breaking changes, detailed below.
Breaking changes
- When using the
networkexperimental feature, with sharding enabled (leaderis notnullin the network configuration),POST /indexes/{indexUid}/facet-searchcalls now default to a remote federated facet search, fetching and merging results from all shards in the network. - The timeout for calling an external REST embedder at search time is now tied to the
searchCutOffMsdefined in the index, rather than fixed.- If you observe missing semantic results after upgrading, or HTTP 500 errors for pure semantic search, please increase the value of the search cutoff in the index settings.
- By @dureuill in https://github.com/meilisearch/meilisearch/pull/6377
🌈 Improvements
Remote facet search
Meilisearch now has the ability to search across all shards of a network during facet search via the existing dedicated facet search route.
- If you are using the
networkexperimental feature and have aleaderdefined for your network, remote calls are now the default for calls toPOST /indexes/{indexUid}/facet-search - The behavior can be controlled explicitly via the new
useNetworkparameter of the facet search object.
By @dureuill in https://github.com/meilisearch/meilisearch/pull/6375
Reduce memory usage of the indexing
Reduces allocated memory when computing prefixes and speeds up some operations to avoid unnecessary deserialization.
If you still see high memory usage while the engine is post-processing, we recommend using the --experimental-reduce-indexing-memory-usage option.
By @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6334
Improve GeoJSON indexing performance
This PR upgrades the cellulite library to a version that includes a GeoJSON indexing optimization. With this change, GeoJSON indexing avoids reprocessing documents that were already indexed in dense cells, and only handles newly added documents incrementally as they descend through the recursive cell tree.
By @YoEight in https://github.com/meilisearch/meilisearch/pull/6374
Human-formatted sizes and detailed DB sizes in stats
Adds two new query parameters to GET /indexes/{indexUid}/stats and GET /stats:
showInternalDatabaseSizes: boolean, optional, defaults tofalse. When present, the index stat objects in responses of the stat routes now contain an additionalinternalDatabaseSizeskey, whose value is a dictionary of the internal database names and their current size in the index, like in the stats object of a batch.sizeFormat:humanorraw: optional, defaults toraw. When present and set tohuman, then all database sizes in responses of the stat routes will be returned as a string containing an appropriate unit (MiB, GiB, etc). When missing or set toraw, then the current behavior of expressing the size in bytes as a number is retained.
Note for integrations: The keys in internalDatabaseSizes are subject to change and should not be exposed as a strongly typed object. This is the same as the existing internalDatabaseSizes in batch stats.
Adding showInternalDatabaseSizes to an index stats
showInternalDatabaseSizes to an index stats// curl -X GET "http://localhost:7700/indexes/movies/stats?showInternalDatabaseSizes=true"
{
"numberOfDocuments": 31944,
"rawDocumentDbSize": 20594688,
"avgDocumentSize": 636,
"isIndexing": false,
"internalDatabaseSizes": {
"wordPairProximityDocids": 100827136,
"documents": 20594688,
"wordPositionDocids": 18694144,
"wordFidDocids": 10715136,
"wordPrefixPositionDocids": 10256384,
"wordDocids": 9453568,
"wordPrefixFidDocids": 4603904,
"wordPrefixDocids": 3424256,
"main": 1425408,
"externalDocumentsIds": 999424,
"fieldIdWordCountDocids": 245760,
"exactWordPrefixDocids": 16384,
"celluliteMetadata": 16384
},
"numberOfEmbeddings": 0,
"numberOfEmbeddedDocuments": 0,
"fieldDistribution": {
"genres": 31944,
"id": 31944,
"overview": 31944,
"poster": 31944,
"release_date": 31944,
"title": 31944
}
}
Adding showInternalDatabaseSizes and sizeFormat=human to global stats
showInternalDatabaseSizes and sizeFormat=human to global stats// curl -X GET "http://localhost:7700/stats?showInternalDatabaseSizes=true&sizeFormat=human"
{
"databaseSize": "351.38 MiB",
"usedDatabaseSize": "350.64 MiB",
"lastUpdate": "2026-04-16T13:07:02.74243Z",
"indexes": {
"comics": {
"numberOfDocuments": 31944,
"rawDocumentDbSize": "23.14 MiB",
"avgDocumentSize": "751 B",
"isIndexing": false,
"internalDatabaseSizes": {
"wordPairProximityDocids": "98.06 MiB",
"documents": "23.14 MiB",
"wordPositionDocids": "17.22 MiB",
"wordFidDocids": "10.36 MiB",
"wordPrefixPositionDocids": "9.47 MiB",
"wordDocids": "8.97 MiB",
"wordPrefixFidDocids": "4.36 MiB",
"wordPrefixDocids": "3.27 MiB",
"main": "1.36 MiB",
"externalDocumentsIds": "944 KiB",
"fieldIdWordCountDocids": "240 KiB",
"exactWordPrefixDocids": "16 KiB",
"celluliteMetadata": "16 KiB"
},
"numberOfEmbeddings": 0,
"numberOfEmbeddedDocuments": 0,
"fieldDistribution": {
"genres": 31944,
"id": 31944,
"overview": 31944,
"poster": 31944,
"release_date": 31944,
"title": 31944
}
},
"movies": {
"numberOfDocuments": 31944,
"rawDocumentDbSize": "19.64 MiB",
"avgDocumentSize": "636 B",
"isIndexing": false,
"internalDatabaseSizes": {
"wordPairProximityDocids": "96.16 MiB",
"documents": "19.64 MiB",
"wordPositionDocids": "17.83 MiB",
"wordFidDocids": "10.22 MiB",
"wordPrefixPositionDocids": "9.78 MiB",
"wordDocids": "9.02 MiB",
"wordPrefixFidDocids": "4.39 MiB",
"wordPrefixDocids": "3.27 MiB",
"main": "1.36 MiB",
"externalDocumentsIds": "976 KiB",
"fieldIdWordCountDocids": "240 KiB",
"exactWordPrefixDocids": "16 KiB",
"celluliteMetadata": "16 KiB"
},
"numberOfEmbeddings": 0,
"numberOfEmbeddedDocuments": 0,
"fieldDistribution": {
"genres": 31944,
"id": 31944,
"overview": 31944,
"poster": 31944,
"release_date": 31944,
"title": 31944
}
}
}
}
The call without any parameters is the same as in previous versions.
// curl -X GET "http://localhost:7700/stats"
{
"databaseSize": 368443392,
"usedDatabaseSize": 367673344,
"lastUpdate": "2026-04-16T13:07:02.74243Z",
"indexes": {
"comics": {
"numberOfDocuments": 31944,
"rawDocumentDbSize": 24264704,
"avgDocumentSize": 751,
"isIndexing": false,
"numberOfEmbeddings": 0,
"numberOfEmbeddedDocuments": 0,
"fieldDistribution": {
"genres": 31944,
"id": 31944,
"overview": 31944,
"poster": 31944,
"release_date": 31944,
"title": 31944
}
},
"movies": {
"numberOfDocuments": 31944,
"rawDocumentDbSize": 20594688,
"avgDocumentSize": 636,
"isIndexing": false,
"numberOfEmbeddings": 0,
"numberOfEmbeddedDocuments": 0,
"fieldDistribution": {
"genres": 31944,
"id": 31944,
"overview": 31944,
"poster": 31944,
"release_date": 31944,
"title": 31944
}
}
}
}
By @dureuill in https://github.com/meilisearch/meilisearch/pull/6338
🦋 Fixes
- Settings changes performed via a settings subroute (not the “all settings” route) are now correctly propagated to other remotes on the network. By @dureuill in https://github.com/meilisearch/meilisearch/pull/6380
- The chat route no longer fails in some condition when using Mistral as a provider. By @renezander030 in https://github.com/meilisearch/meilisearch/pull/6327
- Prevent accidentally renaming a remote when modifying the network configuration. By @dureuill in https://github.com/meilisearch/meilisearch/pull/6370
🔩 Miscellaneous changes
- Replace boolean by PatternMatch for searchable by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6344
- Add query to federated search metadata by @StephaneRob in https://github.com/meilisearch/meilisearch/pull/6371
- Remove issue template for feature issues by @curquiza in https://github.com/meilisearch/meilisearch/pull/6372
- Improve the documentation of the health route by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6376
New Contributors
- @renezander030 made their first contribution in https://github.com/meilisearch/meilisearch/pull/6327
- @quyentonndbs made their first contribution in https://github.com/meilisearch/meilisearch/pull/6382
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.43.1...v1.44.0
下载链接
- meilisearch-enterprise-linux-aarch64
- meilisearch-enterprise-linux-amd64
- meilisearch-enterprise-linux-riscv64
- meilisearch-enterprise-macos-amd64
- meilisearch-enterprise-macos-apple-silicon
- meilisearch-enterprise-windows-amd64.exe
- meilisearch-linux-aarch64
- meilisearch-linux-amd64
- meilisearch-linux-riscv64
- meilisearch-macos-amd64
- meilisearch-macos-apple-silicon
- meilisearch-openapi.json
- meilisearch-windows-amd64.exe
- meilisearch.deb