news 2026/5/16 21:27:49

号称取代Elasticsearch,太猛了!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
号称取代Elasticsearch,太猛了!

Manticore Search介绍

Manticore Search 是一个使用 C++ 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。

Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码并保持开源。这一切使 Manticore Search 成为一个现代,快速,轻量级和功能齐全的数据库,具有出色的全文搜索功能。

Manticore Search目前在GitHub收获11k star,拥有大批忠实用户。同时开源者在GitHub介绍中明确说明了该项目是Elasticsearch的良好替代品,在不久的将来就会取代ELK中的E。

同时,来自 MS 官方的测试表明 Manticore Search 性能比 ElasticSearch 有质的提升:

在一定的场景中,Manticore 比 Elasticsearch 快 15 倍!完整的测评结果,可以参考:

https://manticoresearch.com/blog/manticore-alternative-to-elasticsearch/

优势

它与其他解决方案的区别在于:

  1. 它非常快,因此比其他替代方案更具成本效益。例如,Manticore:

    • 对于小型数据,比MySQL快182倍(可重现)

    • 对于日志分析,比Elasticsearch快29倍(可重现)

    • 对于小型数据集,比Elasticsearch快15倍(可重现)

    • 对于中等大小的数据,比Elasticsearch快5倍(可重现)

    • 对于大型数据,比Elasticsearch快4倍(可重现)

    • 在单个服务器上进行数据导入时,最大吞吐量比Elasticsearch快最多2倍(可重现)

  2. 由于其现代的多线程架构和高效的查询并行化能力,Manticore能够充分利用所有CPU核心,以实现最快的响应时间。

  3. 强大而快速的全文搜索功能能够无缝地处理小型和大型数据集。

  4. 针对小、中、大型数据集提供逐行存储。

  5. 对于更大的数据集,Manticore通过Manticore Columnar Library提供列存储支持,可以处理无法适合内存的数据集。

  6. 自动创建高效的二级索引,节省时间和精力。

  7. 成本优化的查询优化器可优化搜索查询以实现最佳性能。

  8. Manticore是基于SQL的,使用SQL作为其本机语法,并与MySQL协议兼容,使您可以使用首选的MySQL客户端。

  9. 通过PHP、Python、JavaScript、Java、Elixir和Go等客户端,与Manticore Search的集成变得简单。

  10. Manticore还提供了一种编程HTTP JSON协议,用于更多样化的数据和模式管理。

  11. Manticore Search使用C++构建,启动快速,内存使用最少,低级别优化有助于其卓越性能。

  12. 实时插入,新添加的文档立即可访问。

  13. 提供互动课程,使学习轻松愉快。

  14. Manticore还拥有内置的复制和负载均衡功能,增加了可靠性。

  15. 可以轻松地从MySQL、PostgreSQL、ODBC、xml和csv等来源同步数据。

  16. 虽然不完全符合ACID,但Manticore仍支持事务和binlog以确保安全写入。

  17. 内置工具和SQL命令可轻松备份和恢复数据。

Craigslist、Socialgist、PubChem、Rozetka和许多其他公司使用 Manticore 进行高效搜索和流过滤。

使用

Docker 镜像可在Docker Hub上获取:

要在 Docker 中试验 Manticore Search,只需运行:

docker run -e EXTRA=1 --name manticore --rm -d manticoresearch/manticore && until docker logs manticore 2>&1 | grep -q "accepting connections"; do sleep 1; done && docker exec -it manticore mysql && docker stop manticore

之后,可以进行其他操作,例如创建表、添加数据并运行搜索:

create table movies(title text, year int) morphology='stem_en' html_strip='1' stopwords='en'; insert into movies(title, year) values ('The Seven Samurai', 1954), ('Bonnie and Clyde', 1954), ('Reservoir Dogs', 1992), ('Airplane!', 1980), ('Raging Bull', 1980), ('Groundhog Day', 1993), ('<a href="http://google.com/">Jurassic Park</a>', 1993), ('Ferris Bueller\'s Day Off', 1986); select highlight(), year from movies where match('the dog'); select highlight(), year from movies where match('days') facet year; select * from movies where match('google');

项目地址

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 10:37:45

大模型微调完全指南:从通用到专业的蜕变,让AI真正懂你的业务

大模型微调是将通用模型转化为特定领域专才的关键技术&#xff0c;通过专业数据调整模型参数。主流方法包括全参数微调及LoRA、QLoRA等高效技术。微调适用于法律、医疗、金融等专业领域&#xff0c;需明确目标、准备高质量数据并选择合适方法。尽管面临数据泄漏、过拟合等挑战&…

作者头像 李华
网站建设 2026/5/15 18:48:24

彼得林奇对公司并购后文化整合成功因素的案例研究

彼得林奇对公司并购后文化整合成功因素的案例研究 关键词:彼得林奇、公司并购、文化整合、成功因素、案例研究 摘要:本文围绕彼得林奇对公司并购后文化整合成功因素展开深入的案例研究。首先介绍研究的背景、目的、预期读者等内容,阐述相关核心概念。接着剖析核心算法原理(…

作者头像 李华
网站建设 2026/5/11 5:00:12

Qt中connect()实现信号与槽连接这一核心机制

深入讲解Qt中connect()实现信号与槽连接这一核心机制。这是Qt框架最著名、最强大的特性之一&#xff0c;也是Qt区别于其他GUI框架的关键所在。一、核心概念&#xff1a;什么是信号与槽&#xff1f;1. 信号&#xff08;Signal&#xff09;定义&#xff1a;当对象的内部状态发生改…

作者头像 李华
网站建设 2026/5/11 22:58:07

攻防世界: easyupload

攻防世界&#xff1a; easyupload 本次使用到的知识点如下&#xff1a; .user.ini文件的作用: .user.ini 是PHP的用户级配置文件,我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件&#xff0c;而这个文件可以是一个正常php文件&#xff0c;也可以是一个包含一句…

作者头像 李华
网站建设 2026/5/12 11:09:01

我们和钱的关系,其实早被财富量级定好了

我们和钱的关系,其实早被财富量级定好了 目录 我们和钱的关系,其实早被财富量级定好了 一个人有了一百万或几百万,你会感到你是金钱的爸爸。有了一千万或几千万,你会感到你是金钱的爷爷。做金钱的爷爷,是人和金钱之间最优越最良好的关系……一旦超过了几千万,人和金钱的平…

作者头像 李华
网站建设 2026/4/23 19:20:42

人生的本质是交换:成事的终极公式:极致专注+灵活交换=一切皆可行

人生的本质是交换:深耕一技+巧做链接,才是普通人的破局之道 目录 人生的本质是交换:深耕一技+巧做链接,才是普通人的破局之道 把“交换”这件事做透 自己有“可交换的资本” 交换的底层前提:你得真的“行”,更要让别人“认” 交换的核心逻辑:靠一技之长求温饱,靠价值交…

作者头像 李华