![]()
Manticore Search 25.0.0 正式发布了。这个版本最直观的改变是:安装包从6个合并成1个,同时把混合搜索、向量预过滤、并行优化这些"企业级功能"直接塞进了开源版。
对于每天和搜索引擎打交道的人来说,这相当于把原来需要拼装的宜家家具,变成了开箱即用的成品。
安装包合并:运维终于不用猜依赖了
25.0.0 之前,Manticore 的 deb/rpm 安装要处理一堆拆分包:manticore-server、manticore-tools、manticore-converter、开发头文件、ICU 数据、语言包……漏装一个,启动时报错像开盲盒。
现在直接装 manticore 一个包,daemon、工具、转换器、头文件、ICU 数据、德语/英语/俄语语言包、Jieba 中文分词,全部打包带走。依赖问题由 bundle 自动解决。
升级路径也简化了:apt/yum remove 'manticore*' 清掉旧包,再装新包,数据原地保留。Yum 系用户注意——包管理器可能会替换配置文件,但会自动备份旧版本,记得检查 /etc/manticoresearch/ 里的 .rpmsave 文件。
这个改动的价值被低估了。它不只是"少敲几行命令",而是把安装从"技术活"变成了"体力活",降低了团队交接和自动化部署的认知成本。
混合搜索:全文检索和向量召回不再打架
之前的 Manticore 做语义搜索,要么用 MATCH() 走全文,要么用 KNN() 走向量,两条路井水不犯河水。25.0.0 把它们缝在一起了。
现在一条 SQL 可以同时包含 MATCH() 和多个 KNN() 子查询。比如搜"轻量化跑鞋",既能匹配商品标题里的"跑鞋""轻量"关键词,又能用向量召回描述语义相近但用词不同的商品。
这对做电商搜索、内容推荐的团队是刚需。纯关键词搜索漏掉同义词,纯向量搜索又容易召回语义相关但业务无关的结果。混合搜索相当于让系统同时做"精确匹配"和"模糊联想",再按策略加权。
![]()
实现方式很直接:SQL 和 JSON 接口都支持。不需要改架构,不需要额外服务,查询语法就是原生扩展。
KNN 预过滤:先筛再搜,而不是搜完再筛
向量搜索有个经典坑:先找最近邻,再过滤属性,结果可能是"在全局最近邻里挑符合条件的",而非"在符合条件的里找最近邻"。
举个例子。假设有100万件商品,用户搜"红色连衣裙",系统先找出语义最近的1000件,再过滤颜色=红色——可能这1000件里只有3件红的,用户体验崩了。
25.0.0 的 KNN prefiltering 把过滤条件推进到向量检索阶段。属性过滤和最近邻计算同时进行,保证返回的是"红色商品里的语义最近邻"。
这个优化对多租户、权限过滤、类目约束的场景尤其关键。之前需要业务层自己绕,现在数据库层直接解决。
RT 表维护:并行合并扛得住写压力
Manticore 的 RT(实时)表写多了会产生大量 disk chunk,需要定期 OPTIMIZE 合并。以前这是单线程操作,表越大越慢,写负载高的时候合并跟不上,性能雪崩。
25.0.0 引入了 N-way 合并和并行 OPTIMIZE。简单说:可以同时合并多个 chunk,而且合并过程不阻塞写入。
实际效果取决于数据量和硬件,但方向很明确——RT 表从"需要小心呵护"变成了"可以粗暴使用"。对于日志、物联网、实时推荐这些持续高写入的场景,维护成本显著下降。
MySQL 协议兼容:ORM 和连接池不再闹脾气
![]()
很多团队想换搜索引擎,卡在应用层适配。Manticore 一直支持 MySQL 协议,但 prepared statement(预处理语句)的支持不完整,导致一些 ORM 和连接池行为异常。
25.0.0 补上了这个缺口。二进制协议的 prepare/execute 现在和 MySQL 兼容,意味着你可以直接用现有的 MySQL 客户端、连接池配置、ORM 代码连 Manticore,不需要额外适配层。
对于已经在用 MySQL/Elasticsearch 混合架构的团队,这降低了迁移的摩擦系数。不是"重写查询层",而是"改个连接字符串"。
S3 备份:灾难恢复终于不用玩 rsync 了
备份工具 manticore-backup 现在直接支持 S3 兼容存储:AWS S3、MinIO、Wasabi、Cloudflare R2 都能接。
之前要备份到对象存储,得先 dump 到本地,再用 aws-cli 或 rclone 上传。现在一条命令直达,支持增量备份和恢复。
对于用 Kubernetes 部署、或者基础设施已经云原生的团队,这省去了不少胶水脚本。备份策略可以统一纳管到现有的 S3 生命周期规则里。
25.0.0 的改动有个共同特征:不是炫技式的新功能,而是把"能跑"变成"好跑"。安装、查询、维护、集成、备份,每个环节都削了一层摩擦。
这种"修bug式的产品迭代"往往比大改版更难做——需要大量用户反馈,需要承认之前的设计债,需要在兼容性和简化之间找平衡。
Manticore 团队的选择是:25.0.0 不保证完全向后兼容(所以是大版本号),但提供清晰的迁移路径。数据不会丢,配置有备份,旧包可以并行卸载。
如果你正在评估 Elasticsearch 的替代品,或者受够了 Sphinx 的老旧架构,现在可能是重新看 Manticore 的时机。混合搜索和向量预过滤这些功能,在 ES 里需要 X-Pack 或自己组装,在这里是开箱配置。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.