发布日期: 2025-05-12
版本号: v1.15.0-rc.0

Meilisearch v1.15.0版本发布,主要新增了禁用数字拼写容错的设置,并为字符串过滤器启用了比较运算符。其他改进包括支持取消版本升级、兼容EC私钥SSL证书、优化快照生成等。修复了_matchesPosition计算和_geo排序规则的问题。此版本与所有官方集成工具兼容。

更新内容 (中文)

v1.15.0 发布更新日志

[!WARNING] 由于这是一个候选发布版本(RC),我们不建议在生产环境中使用它。遇到了不符合预期的问题吗?我们欢迎提交 错误报告关于新功能的反馈

Meilisearch v1.15 增加了一项新的拼写容错设置,允许您为数字禁用拼写容错。它还为字符串过滤器启用了比较运算符。

🧰 所有官方的 Meilisearch 集成(包括 SDK、客户端和其他工具)均与此 Meilisearch 版本兼容。集成部署将在新版本可用后的 4 到 48 小时内进行。

部分 SDK 可能未包含所有新功能。请查阅项目仓库获取详细信息。您选择的 SDK 缺少您需要的功能?创建一个 issue 告知我们您需要它,或者,为了获得开源声望,可以提交一个实现该功能的 PR(我们会因此爱上您 ❤️)。

新功能与更新 🔥

为数字禁用拼写容错

typoTolerance.disableOnNumbers 设置为 true 以禁用数字的拼写容错:

curl -X POST 'http://localhost:7700/indexes/movies/settings' \
  -H 'Content-Type: application/json' \
  -d '{
    "typoTolerance": {"disableOnNumbers": true}
  }'

在需要减少误报的场景下(例如,查询词 2024 会返回包含 20252004 的结果),禁用数字拼写容错可能很有用。它还可能提高索引性能。

由 @ManyTheFish 在 #5494 中完成。

字典序字符串过滤

此版本允许您通过对字符串值启用比较运算符(<、<=、>、>=、TO)来进行字典序过滤:

curl -X POST 'http://localhost:7700/indexes/movies/search' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": "release_date >= '2024-06'"
  }'

这个新功能在过滤人类可读的日期时特别有用。

由 @dureuill 在 #5535 中完成。

其他改进

  • 允许通过回滚所有已升级的索引来取消升级到新的 Meilisearch 版本,由 @dureuill 在 #5523 中完成
  • 支持 EC 私钥作为 SSL 证书,由 @HDT3213 在 #5471 中完成
  • 停止压缩快照以加速其生成,由 @dureuill 在 #5498 中完成
  • 在批次统计信息中添加新的 batchCreationComplete 字段,由 @dureuill 在 #5488#5530 中完成
  • 添加日志字段以跟踪在向量存储中搜索花费的时间,由 @Kerollmops 在 #5525 中完成
  • 改进可过滤字段的错误消息,由 @CodeMan62 在 #5425 中完成
  • 改进嵌入向量维度不匹配时的错误消息,由 @vuthanhtung2412 在 #5449 中完成
  • 更新 /network URL 验证错误消息格式,由 @CodeMan62 在 #5486 中完成
  • 在 Prometheus 指标中公开任务队列的状态大小,由 @DanasFi 在 #5512 中完成

修复 🐞

  • 修复 _matchesPosition 长度计算以改进客户端裁剪,由 @shaokeyibb 在 #5446 中完成
  • 修复 _geo 排序规则,由 @HDT3213 在 #5487 中完成

其他事项

  • 依赖更新
    • 将 Rust 更新至 1.85.1,由 @Kerollmops 在 #5480 中完成
    • 更新 charabia 至 v0.9.3,由 @ManyTheFish 在 #5466 中完成
    • 更新 Prometheus 以修复安全漏洞,由 @Kerollmops 在 #5513 中完成
  • CI 与测试
    • 设置里程碑 CI 以更新规则集,由 @Kerollmops 在 #5444 中完成
    • 使 CI 与 GitHub 的合并队列分组功能兼容,由 @Kerollmops 在 #5445 中完成
    • 从仓库中移除 Bors 引用,由 @Kerollmops 在 #5447 中完成
    • 拆分任务的单元测试,由 @shu-kitamura 在 #5424 中完成
  • 其他
    • 改进无数据转储升级的兼容性,由 @irevoire 在 #5395 中完成
    • 修复 README 中的链接和格式以使其清晰一致,由 @ZeroZ-lab 在 #5533 中完成

❤️ 再次感谢我们的外部贡献者:

  • Meilisearch:@shu-kitamura、@shaokeyibb、@CodeMan62、@vuthanhtung2412、@HDT3213、@DanasFi 和 @ZeroZ-lab。

更新内容 (原始)

v1.15.0 release changelogs

[!WARNING] Since this is a release candidate (RC), we do NOT recommend using it in a production environment. Is something not working as expected? We welcome bug reports and feedback about new features.

Meilisearch v1.15 adds a new typo tolerance setting, allowing you to disable typo tolerance for numbers. It also enables comparison operators for string filters.

🧰 All official Meilisearch integrations (including SDKs, clients, and other tools) are compatible with this Meilisearch release. Integration deployment happens between 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 🔥

Disable typo tolerance for numbers

Set typoTolerance.disableOnNumbers to true to disable typo tolerance for numbers:

curl -X POST 'http://localhost:7700/indexes/movies/settings' \
  -H 'Content-Type: application/json' \
  -d '{
    "typoTolerance": {"disableOnNumbers": true}
  }'

Deactivating the typo tolerance on numbers can be useful when trying to reduce false positives, such as a query term 2024 returning results that include 2025 and 2004. It may also improve indexing performance.

Done by @ManyTheFish in #5494.

Lexicographic string filters

This release allows you to filter strings lexicographically by enabling comparison operators (<, <=, >, >=, TO) on string values:

curl -X POST 'http://localhost:7700/indexes/movies/search' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": "release_date >= '2024-06'"
  }'

This new feature can be particularly useful when filtering human-readable dates.

Done by @dureuill in #5535.

Other improvements

  • Allows cancelling an upgrade to a new Meilisearch version by rolling back all upgraded indexes by @dureuill in #5523
  • Support EC private key as SSL certificate by @HDT3213 in #5471
  • Stop compacting snapshots to speed up their generation by @dureuill in #5498
  • Add new batchCreationComplete field in the batches stats by @dureuill in #5488 and #5530
  • Add log field tracking time spent searching in the vector store by @Kerollmops in #5525
  • Improve filterable error messages by @CodeMan62 in #5425
  • Improve error messages on embeddings dimension mismatch by @vuthanhtung2412 in #5449
  • Update /network URL validation error message format by @CodeMan62 in #5486
  • Expose the task queue’s status size in the Prometheus metrics by @DanasFi in #5512

Fixes 🐞

  • Fix _matchesPosition length calculation to improve client-side cropping by @shaokeyibb in #5446
  • Fix _geo ranking rule by @HDT3213 in #5487

Misc

  • Dependencies updates
    • Update Rust to 1.85.1 by @Kerollmops in #5480
    • Update charabia v0.9.3 by @ManyTheFish in #5466
    • Update the Prometheus to fix a security vulnerability by @Kerollmops in #5513
  • CIs and tests
    • Setup the Milestone CI to update the Ruleset by @Kerollmops in #5444
    • Make the CI work with GitHub’s merge queue grouping by @Kerollmops in #5445
    • Remove Bors references from the repository by @Kerollmops in #5447
    • Split unit tests for tasks by @shu-kitamura in #5424
  • Misc
    • Improve dumpless upgrade compatibility by @irevoire in #5395
    • Fix links and formatting in README for clarity and consistency by @ZeroZ-lab in #5533

❤️ Thanks again to our external contributors:

  • Meilisearch: @shu-kitamura, @shaokeyibb, @CodeMan62, @vuthanhtung2412, @HDT3213, @DanasFi, and @ZeroZ-lab.

下载链接