# Manticore Search 25.0.0

Manticore Search 25.0.0 带来了更简单的捆绑包，新的自动嵌入控制，混合搜索，KNN 预过滤，S3 兼容的备份，更快的 OPTIMIZE 以及预处理语句。

[Manticore Search 25.0.0](/install/) 已发布。此版本带来了更简单的打包模型，以及在混合搜索、向量过滤、备份、RT 表维护和应用集成方面的重大改进。

---

## 升级说明

升级前请查看以下内容：

- **需要 MCL 13.0.0**。Manticore Search 25.0.0 更新了守护进程/MCL 接口，并为自动嵌入模型添加了 [API_URL](https://manual.manticoresearch.com/Searching/KNN#Creating-a-table-with-auto-embeddings) 和 [API_TIMEOUT](https://manual.manticoresearch.com/Searching/KNN#Creating-a-table-with-auto-embeddings)。如果您单独管理 MCL，请一起升级守护进程和 MCL。([PR #123](https://github.com/manticoresoftware/columnar/pull/123))
- **复制集群需要协调升级**。混合版本的集群与 24.0.0 中的复制更改不兼容。请一起升级集群节点。([Issue #4343](https://github.com/manticoresoftware/manticoresearch/issues/4343))
- **新的二元组分词选项会影响降级路径**。如果您使用 23.0.0 引入的二元组分词更改重建索引，这些重写后的索引与旧版 Manticore 不兼容。([Issue #4364](https://github.com/manticoresoftware/manticoresearch/issues/4364))
- **过滤后的 KNN 结果可能会变化**。自 19.0.0 引入 KNN 预过滤以来，过滤后的向量查询现在可以在搜索期间优先选择满足过滤条件的最近邻，而不是仅在候选选择后进行过滤。([Issue #4103](https://github.com/manticoresoftware/manticoresearch/issues/4103))

---

## 打包简化

从 25.0.0 开始，`manticore` 是 deb 和 rpm 的捆绑包。它包括守护进程、工具、转换器、开发头文件、ICU 数据、捆绑的依赖包，以及德语、英语和俄语的内置语言包，还有 Jieba 支持。

在大多数情况下，升级现在更简单：安装 `manticore`，并让捆绑包拉取您需要的组件。如果旧版拆分包与新布局冲突，请先使用 `apt remove 'manticore*'` 或 `yum remove 'manticore*'` 删除它们，然后再安装 `manticore`。您现有的数据保持不变。在基于 `yum` 的系统上，包管理器可能会替换配置文件，但会自动保留之前的备份。

这是一个重要的操作变更：它减少了打包摩擦，并使安装更简单和可预测。

---

## 亮点

### 混合搜索现在成为了一等选项

Manticore 现在支持 [混合搜索](/blog/hybrid-search/)，允许您在单个查询中结合全文和向量检索。这使得构建平衡词法精确度和语义召回率的检索管道变得更加容易。

您可以通过 SQL 和 JSON 接口使用混合搜索。在 SQL 中，您可以将 `MATCH()` 与一个或多个 `KNN()` 子查询结合使用。对于构建现代搜索体验的团队来说，这是发布系列中最大的新增功能之一。

### 更好的向量搜索与 KNN 预过滤

通过 [KNN 预过滤](/blog/knn-prefiltering/)，属性过滤可以在向量搜索期间应用，而不仅仅是在候选选择之后。当您需要“在符合我过滤条件的文档中找到最近邻”，而不仅仅是“找到所有最近邻并随后过滤”时，这非常重要。

这改善了过滤向量搜索工作负载的相关性和可预测性，例如受限于类别的产品搜索、租户感知搜索和权限过滤的语义检索。

### 更快的 RT 维护与并行块合并

得益于 N 路合并和并行 `OPTIMIZE` 任务，Manticore RT 表现在处理繁重的维护任务时表现更好。我们已在 [并行块合并](/blog/parallel-chunk-merging/) 中详细介绍了这些细节。

结果比实现更容易解释：当表累积了大量磁盘块时，清理和压缩所需时间更少，因此 RT 表在持续写入负载下表现更好。

### 通过预处理语句实现更简单的应用集成

Manticore 现在支持 MySQL 兼容的预处理语句，我们已在 [Manticore Search 中的预处理语句](/blog/prepared-statements/) 中进行了介绍。这提高了与 MySQL 客户端、连接池、ORM 和期望二进制协议准备/执行行为的框架的兼容性。

对于应用开发人员来说，这消除了另一个集成边缘情况，使 Manticore 更容易在现有堆栈中采用。

### S3 兼容的备份和恢复

由于 [S3 兼容的备份和恢复](/blog/s3-streamable-backup/)，备份操作现在更加灵活。Manticore Backup 支持 AWS S3、MinIO、Wasabi 和 Cloudflare R2，使备份传输到对象存储并构建更清晰的灾难恢复工作流程变得更加容易。

这对于容器化和云原生部署特别有用，其中本地磁盘是临时的，而对象存储是持久层。

### 自动嵌入功能持续改进

25.0.0 还扩展了 Manticore 最近的自动嵌入工作。新的 MCL 版本为自动嵌入模型添加了 [API_URL](https://manual.manticoresearch.com/Searching/KNN#Creating-a-table-with-auto-embeddings) 和 [API_TIMEOUT](https://manual.manticoresearch.com/Searching/KNN#Creating-a-table-with-auto-embeddings) 控制。最近的开发还增加了对 GGUF 量化本地嵌入模型、T5 编码器、受限制的 Hugging Face 下载以及 RT 表的复制安全嵌入处理的支持。

综合来看，这些更改使 Manticore 更加适用于本地嵌入流水线，以及依赖外部模型端点的部署。

---

## 其他显著改进

此版本还包含 **36 个错误修复**，涉及查询执行、复制、macOS 打包、自动嵌入、RT 表和 SQL 兼容性。

- 修复了复杂查询中因 `max_query_time` 中断导致的假阳性全文匹配问题，因此超时搜索不再返回实际上不满足查询的行。([Issue #4375](https://github.com/manticoresoftware/manticoresearch/issues/4375))
- 修复了包含重复文档 ID 的事务复制问题，因此副本在供体正确删除重复项时不再丢失行。([Issue #4388](https://github.com/manticoresoftware/manticoresearch/issues/4388))
- 修复了多个自动嵌入稳定性问题，包括嵌入生成时的崩溃、无效 UTF-8 处理以及验证期间缺失的 RT 锁。([PR #4349](https://github.com/manticoresoftware/manticoresearch/pull/4349), [PR #4370](https://github.com/manticoresoftware/columnar/issues/125), [PR #4371](https://github.com/manticoresoftware/manticoresearch/pull/4371))
- `LEFT JOIN` 现在返回正确的 MySQL `NULL` 值，而不是字符串 `NULL`，从而提高了与 MySQL 客户端和驱动程序的兼容性。([Issue #4229](https://github.com/manticoresoftware/manticoresearch/issues/4229))
- 修复了 RT 磁盘块保存期间的竞态条件，该问题可能导致被终止的文档丢失并在合并或保存后生成重复行。([Issue #4207](https://github.com/manticoresoftware/manticoresearch/issues/4207))
- 模糊搜索现在可以在涉及多个表的查询中正常工作。([PR #4372](https://github.com/manticoresoftware/manticoresearch-buddy/pull/648))

---

## 为什么 25.0.0 重要

Manticore Search 25.0.0 将打包更改与多个重要功能结合在一起，这些功能现在可以同时使用：

- 混合词法 + 向量检索
- 符合用户预期的过滤向量搜索
- 通过预处理语句实现更简单的集成
- 对象存储友好的备份流程
- 更快的 RT 表压缩和维护
- 更灵活的自动嵌入部署

如需完整的技术细节，请参阅 [变更日志](https://manual.manticoresearch.com/Changelog#Version-25.0.0)。

## 需要帮助或想联系？

- 加入我们的 [Slack](https://slack.manticoresearch.com)
- 访问 [论坛](https://forum.manticoresearch.com)
- 在 [GitHub](https://github.com/manticoresoftware/manticoresearch/issues) 上报告问题或提出功能建议
- 邮件发送至 `contact@manticoresearch.com`
