Manticore Search初识

目录

参考文献

Manticore Search是什么

Manticore Search 和 Elasticsearch 的区别


参考文献

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

Manticore: a faster alternative to Elasticsearch in C++ with a 21-year history

manticore官方

17 亿次纽约出租车测试:Clickhouse、Elasticsearch 和 Manticore Search

manticore操作入门

manticore仓库地址

数据库性能比较

Manticore Search是什么

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

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

简单来讲,Manticore Search主要特点如下:

  • 它的查询和检索非常快。对于小型数据集,比ES快15倍,对于中等大小数据,比ES快5倍,对于大型数据,比ES快4倍。
  • Manticore是基于SQL的,使用SQL作为其本机语法,并与MySQL协议兼容,使您可以使用首选的MySQL客户端。同时也支持 RestfulAPI查询方式。
  • 通过PHP、Python、JavaScript、Java、Elixir和Go等客户端,与Manticore Search的集成变得简单。
  • 可以轻松地从MySQL、PostgreSQL、ODBC、xml和csv等来源同步数据。

Manticore Search 和 Elasticsearch 的区别

Manticore Search 的目标是 ELK 堆栈中Elasticsearch 的直接替代品,因此 Kibana 和 Logstash(或 Opensearch 替代品)可以很好地与其配合使用。

官方对两者的性能进行了多种测试,得到的结论 Manticore Search整体上比Elasticsearch表现更优。(部分截图如下)

作为 Elasticsearch 的更快替代品,两者的不同表现在:

Manticore Search 和 Elasticsearch 的区别
比较维度描述详情
搜索速度Manticore 能够无条件地默认将搜索查询并行到所有 CPU 核心,Elasticsearch 默认只有 1 个分片,但现代服务器中的 CPU 核心要多得多。

针对 17 亿个文档的测试,Manticore 整体上比 Elasticsearch 快 4 倍。

Hacker News 的 110 万条评论Manticore 比 Elasticsearch 快 15 倍。

1000 万个 Nginx 日志和各种相当真实的分析,Manticore 比 Elasticsearch 快 22 倍。

数据提取性能在数据提取性能方面,Manticore 比 Elasticsearch 快 2 倍。并且数据在批量加载后可立即搜索,而不是 2 分钟后。

17 亿文档测试数据的写入时间。

到 Elasticsearch - 28 小时 33 分钟
到 Manticore Search-1 小时 8 分钟。

内容

Elasticsearch本身是用Java编写的,Manticore 是用 C++ 编写的。

  • Manticore 更接近硬件,因此可以编写更加优化的代码
  • 无需考虑 JVM 堆大小
  • JVM 垃圾收集器不会在不适当的时刻启动 gc,从而极大地影响性能。
开源

Elasticsearch许可证于 2021 年从 Apache 2 更改为 Elastic 许可证。

Elasticsearch 和 Kibana更改开源协议
Manticore 是纯开源的,守护进程采用 GPLv2 许可证,列式库采用 Apache 2 许可证。

目前来看 Elasticsearch 修改协议针对云服务提供商做出限制,即要求云服务提供商在未对项目做出贡献的情况下,不得发布自己的开源产品即服务。

目前看来对使用没有影响。

聚合Manticore 和 Elasticsearch 都提供了丰富的聚合功能。

一些思考

1、集合类型的字段怎么存储,怎么做筛选。

当前 es中有keyWord 数据结构,manticore中也支持此结构。

* keyword:用于结构化内容的字符串类型,例如邮箱地址、状态码、品牌等。它不进行分析,可以用于排序和聚合。

Life is rife with questions that baffle. All we can do is carry on.

  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Manticore 的配置文件(manticore.conf)包含了您可以使用的各种选项和参数来配置 Manticore 搜索引擎的行为。以下是一些常见的配置选项: 1. `index` 部分:您可以在这里定义索引的名称、路径、字段定义、停用词等。您可以使用 `path` 参数指定索引的存储路径,使用 `charset_table` 参数指定字符集,使用 `morphology` 参数指定词形还原器,等等。 2. `searchd` 部分:您可以在这里配置搜索守护进程的行为。例如,您可以定义监听的端口号(`listen` 参数)、查询超时时间(`query_timeout` 参数)、最大查询时间(`max_query_time` 参数)等。 3. `source` 部分:您可以在这里定义数据源的名称、类型和连接信息。例如,您可以使用 `mysql` 数据源连接到 MySQL 数据库,使用 `xmlpipe2` 数据源从 XML 文件中索引数据,等等。 4. `indexer` 部分:您可以在这里配置索引器的行为。例如,您可以定义索引任务的内存限制(`mem_limit` 参数)、临时文件路径(`tmpfs` 参数)、并行索引构建的线程数(`workers` 参数)等。 5. `searchd` 部分:您可以在这里配置搜索守护进程的行为。例如,您可以定义监听的端口号(`listen` 参数)、查询超时时间(`query_timeout` 参数)、最大查询时间(`max_query_time` 参数)等。 以上只是一些常见的配置选项示例。完整的配置文件选项和参数可以在 Manticore 的官方文档中找到(https://manual.manticoresearch.com/Configuration/Configuration_File.html)。 请注意,修改配置文件后,您需要重新启动 Manticore 以使更改生效。使用以下命令启动 Manticore:`searchd --config /path/to/manticore.conf`(将 `/path/to/manticore.conf` 替换为您实际的配置文件路径)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值