Manticore Search号称Elasticsearch快15倍得全文检索引擎

这篇具有很好参考价值的文章主要介绍了Manticore Search号称Elasticsearch快15倍得全文检索引擎。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、介绍

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

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

二、官方性能对比

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

manticore search,大数据,Manticore Search,sql,全文检索,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 进行高效搜索和流过滤。

四、使用

1. 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, 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');

2.使用window环境安装
首先window安装环境很简单,下载安装包双击,显示如下界面:
manticore search,大数据,Manticore Search,sql,全文检索,elasticsearch,搜索引擎,大数据
选择安装路径,操作界面如下:
manticore search,大数据,Manticore Search,sql,全文检索,elasticsearch,搜索引擎,大数据
选择Install进行逐步安装即可.

安装完后,打开cmd(一定要以管理员的方式运行cmd,不然权限不足)
输入

E:\i-tools\Manticore\bin\searchd.exe --install --config E:\i-tools\Manticore\etc\manticoresearch\manticore.conf --servicename Manticore

这里是我安装的路径,实际以自己的路径为主
)
manticore search,大数据,Manticore Search,sql,全文检索,elasticsearch,搜索引擎,大数据
启动服务
manticore search,大数据,Manticore Search,sql,全文检索,elasticsearch,搜索引擎,大数据
在mysql bin目录下指定 manticore地址

mysql -P9306 -h127.0.0.1

manticore search,大数据,Manticore Search,sql,全文检索,elasticsearch,搜索引擎,大数据
到此处已经安装成功,linux操作系统请看官方文档,不过笔者在后续文章也会更新。
完整文档和开源代码,可以移步:https://github.com/manticoresoftware/manticoresearch文章来源地址https://www.toymoban.com/news/detail-850315.html

到了这里,关于Manticore Search号称Elasticsearch快15倍得全文检索引擎的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticSearch-全文检索

    https://www.elastic.co/cn/what-is/elasticsearch 全文搜索属于最常见的需求,开源的Elasticsearch是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。 维基百科、StackOverflow、Github都采用它。 Elastic的底层是开源库Lucene。但是,你没法直接用Lucene,必须自己写代码去调用

    2024年04月17日
    浏览(32)
  • elasticsearch全文检索

    传送门 best_fields 传送门 most_fields 当查询多字段包含相同文本以不同方式分词的时候此参数最有用, 传送门 cross_fields phrase和phrase_prefix 传送门 传送门

    2024年02月07日
    浏览(36)
  • ES(Elasticsearch 全文检索)

    数据量大的时候 索引失效 =查询性能低 功能比较弱 对文档的内容进行分词,对词条创建索引,记录词条所在的文档信息根据词条查询到文档的id 从而查到文档 文档:每一条数据就是一条文档 词条:文档按照语义分成的词语 正向索引 根据文档的id创建索引 查询词条必须先找

    2024年02月05日
    浏览(45)
  • ElasticSearch全文检索原理及过程

            ElasticSearch的搜索引擎中,每个 文档都有一个对应的文档 ID ,文档内容被表示为一系列的集合。例如文档 1 经过分词,提取了 20 个, 每个都会记录它在文档中出现的次数和出现位置 。那么,倒排索引就是 到文档   ID 的映射 ,每个关键

    2023年04月17日
    浏览(36)
  • 全文检索-Elasticsearch-整合SpringBoot

    前面记录了 Elasticsearch 全文检索的入门篇和进阶检索。这次我们来讲下 Spring Boot 中如何整合 ES,以及如何在 Spring Cloud 微服务项目中使用 ES 来实现全文检索,来达到商品检索的功能。 检索服务单独作为一个服务,就称作 gulimall-search 模块。 点击 Next 勾选 Spring Web 依赖,点击

    2024年02月08日
    浏览(37)
  • 九.全文检索ElasticSearch经典入门-ElasticSearch映射修改

    这篇文章的内容是ElasticSearch映射修改,写这篇文章是有水友公司里面遇到了映射修改问题,我这里做了一个整理,希望对你有所帮助。 在ElasticSearch中一旦创建了映射想要进行修改是不被允许的。比如我这里有一个案例 上面创建了索引employee ,同时为其创建映射,指定了id和

    2024年02月05日
    浏览(48)
  • 7-Elasticsearch组合查询和全文检索

    Elasticsearch组合查询 组合查询–布尔查询 组合查询中的常用的查询方式:布尔查询。 它将多个查询条件组合在一起,并且将查询的结果和结果的评分组合在一起。 布尔查询是把多个子查询组合成一个布尔表达式,所有子查询之间逻辑关系是and,只有当一个文档满足布尔查询

    2024年02月04日
    浏览(32)
  • ElasticSearch:全文检索及倒排索引原理

    首先介绍一下结构化与非结构化数据: 结构化数据将数据具有的特征事先以结构化的形式定义好,数据有固定的格式或有限的长度。典型的结构化数据就是传统关系型数据库的表结构,数据特征直接体现在表结构的字段上,所以根据某一特征做数据检索很直接,速度也比较快

    2024年02月14日
    浏览(31)
  • 全文检索学习之ElasticSearch学习笔记

    在非关系型数据库中,数据是非结构化的,如果直接去查找效率极低,全文检索将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。索引就是从非结构化数据中提取出的然后重新组

    2023年04月11日
    浏览(43)
  • 全文检索工具elasticsearch:第一章:理论知识

    cluster 整个elasticsearch 默认就是集群状态,整个集群是一份完整、互备的数据。 node 集群中的一个节点,一般只一个进程就是一个node shard 分片,即使是一个节点中的数据也会通过hash算法,分成多个片存放,默认是5片。 index 相当于rdbms的database, 对于用户来说是一个逻辑数据库

    2024年04月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包