dbaplus社群 04月05日 08:35
号称取代Elasticsearch,这个引擎真那么好用?
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Manticore Search是一款基于C++开发的高性能搜索引擎,旨在替代Elasticsearch(ELK中的E)。它在Sphinx Search基础上进行了显著改进,修复了大量错误,并保持开源。Manticore Search以其快速、轻量级和功能丰富的特性脱颖而出,尤其在全文搜索方面表现出色。官方测试表明,在某些场景下,Manticore的性能比Elasticsearch快15倍。Manticore Search基于SQL,与MySQL协议兼容,易于集成,并支持多种客户端,适用于各种规模的数据集,为用户提供了高效的搜索解决方案。

🚀 Manticore Search是Sphinx Search的升级版,拥有开源特性,代码几乎完全重写,修复了数百个错误,使其成为一个现代、快速、轻量级且功能强大的数据库,尤其擅长全文搜索。

⚡️ 相比Elasticsearch,Manticore Search在多个方面展现出卓越性能:对于小型数据,速度快182倍(可重现);日志分析快29倍(可重现);对于小型数据集,快15倍(可重现);对于中型数据集,快5倍(可重现);对于大型数据,快4倍(可重现)。

🛠️ Manticore Search基于SQL,使用SQL作为其原生语法,并与MySQL协议兼容,方便用户使用熟悉的MySQL客户端。它支持PHP、Python、JavaScript、Java、Elixir和Go等多种客户端,并提供编程HTTP JSON协议,方便数据和模式管理。

📦 Manticore Search提供Docker镜像,方便用户快速部署和测试。通过简单的Docker命令,用户即可体验Manticore Search的功能,包括创建表、添加数据和运行搜索等操作,快速上手。

⚖️ Manticore Search拥有内置的复制和负载均衡功能,增强了可靠性。它可以轻松地从MySQL、PostgreSQL、ODBC、xml和csv等来源同步数据,提供事务和binlog支持,确保数据写入安全。

2025-04-04 07:15 广东

你觉得能取代ELK中的E吗?


一、Manticore Search介绍


Manticore Search 是一个使用 C++ 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码并保持开源。这一切使 Manticore Search 成为一个现代,快速,轻量级和功能齐全的数据库,具有出色的全文搜索功能。

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


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


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

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


二、优势


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

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

    对于小型数据,比MySQL快182倍(可重现)
    对于日志分析,比Elasticsearch快29倍(可重现)
    对于小型数据集,比Elasticsearch快15倍(可重现)
    对于中等大小的数据,比Elasticsearch快5倍(可重现)
    对于大型数据,比Elasticsearch快4倍(可重现)
    在单个服务器上进行数据导入时,最大吞吐量比Elasticsearch快最多2倍(可重现)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


三、使用


Docker 镜像可在Docker Hub上获取:

https://hub.docker.com/r/manticoresearch/manticore/

要在 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, yearvalues ('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');

      完整文档和开源代码,可以移步:

      https://github.com/manticoresoftware/manticoresearch

      dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn


      阅读原文

      跳转微信打开

      Fish AI Reader

      Fish AI Reader

      AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

      FishAI

      FishAI

      鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

      联系邮箱 441953276@qq.com

      相关标签

      Manticore Search Elasticsearch 搜索引擎 数据库
      相关文章