推荐一款开源的Elasticsearch 优秀替代品-Manticore Search

推荐一款开源的Elasticsearch 优秀替代品-Manticore Search

经验文章nimo972025-03-04 11:28:519A+A-

Manticore Search 技术推荐文档



今天推荐一个不错的开源搜索引擎数据库,如果文章对您有帮助记得点赞、收藏、加关注哦!!!话不多说上内容。

官方网站链接:
https://manticoresearch.com/

概述

Manticore Search 是一个易于使用的开源搜索引擎数据库,是 Elasticsearch 的优秀替代品。它以其卓越的速度和成本效益而著称,相较于其他解决方案,Manticore Search 具有以下特点:

  • 速度极快,成本效率更高
  • 现代多线程架构和高效的查询并行化能力
  • 强大的全文搜索,适用于各种大小的数据集
  • 支持行式存储和列式存储
  • 基于成本的查询优化器
  • SQL 优先,使用 SQL 作为原生语法,并提供 MySQL 协议兼容性
  • 支持多种客户端,包括 PHP、Python、JavaScript、Typescript、Java、Elixir 和 Go
  • 内置 C++,快速启动,使用最少的 RAM
  • 支持实时插入,新添加的文档立即可用
  • 内置复制和负载均衡,提高可靠性
  • 支持事务和 binlog 以确保安全写入
  • 支持数据备份和恢复
  • 从 MySQL、PostgreSQL、ODBC、XML 和 CSV 等源同步数据

Manticore Search 于 2017 年从 Sphinx 2.3.2 分叉而来。

全文搜索与相关性

  • 20 多种全文操作符和 20 多种排名因素
  • 自定义排名

其他搜索能力

  • 丰富的过滤功能
  • 面向方面的搜索
  • 地理空间搜索
  • 向量搜索
  • 连接表
  • 拼写更正
  • 自动完成

自然语言处理 (NLP)

  • 词干提取
  • 词形还原
  • 停用词
  • 同义词
  • 词形
  • 高级字符和单词级别的标记化
  • 适当的中文分词
  • 文本高亮

高可用性

  • 数据可在服务器和数据中心之间分布
  • 同步复制
  • 内置负载均衡

安全性

  • HTTPS 支持
  • 只读模式

数据存储

  • 行式 - 需要更多 RAM,提供更快的性能
  • 列式 - 需要较少 RAM,对于某些类型的查询性能略低于行式存储
  • docstore - 不需要 RAM,但只允许获取原始值,不支持排序/分组/过滤

性能优化

  • 次要索引
  • 成本基础优化器确定搜索查询的最有效执行计划

数据类型

  • 完全文本字段 - 倒排索引
  • 行式和列式整数、长整数和浮点数字段
  • 多值属性(数组)
  • 字符串和 JSON
  • 磁盘上的 "stored" 用于键值目的

集成

  • 从 MySQL 和 PostgreSQL 同步
  • 从 XML 同步
  • 从 CSV 同步
  • 作为 MySQL 的存储引擎
  • 通过 FEDERATED 引擎与 MySQL 集成
  • 与 ProxySQL、Apache Superset、Grafana、Fluentbit、Logstash/Filebeat、Vector.dev、Mysqldump 等集成

yum源安装

1. 安装Manticore Search YUM仓库

首先,您需要添加Manticore Search的官方YUM仓库到您的系统。打开终端并执行以下命令:

sudo yum install https://repo.manticoresearch.com/manticore-repo.noarch.rpm

2. 升级前的准备工作

如果您正在从旧版本升级到新版本,为了避免由包结构更新引起的冲突,建议先移除旧的Manticore Search包。请注意,这不会删除您的数据。如果您对配置文件进行了更改,它将被保存到
/etc/manticoresearch/manticore.conf.rpmsave。

执行以下命令来移除旧的Manticore Search包:

sudo yum --setopt=tsflags=noscripts remove 'manticore*'

3. 安装Manticore Search及其附加组件

在成功添加YUM仓库并(如果需要的话)移除旧版本后,您可以继续安装Manticore Search及其附加组件。使用以下命令:

sudo yum install manticore manticore-extra

4. 启动Manticore Search服务

安装完成后,您需要启动Manticore Search服务。执行以下命令:

sudo systemctl start manticore

5. 验证服务状态

为了确保Manticore Search服务已经成功启动,您可以检查服务的状态:

sudo systemctl status manticore

Docker安装

Manticore Search 的 Docker 镜像可在 Docker Hub 上获得。使用以下命令在 Docker 中运行 Manticore Search:

docker run -e EXTRA=1 --name manticore --rm -d manticoresearch/manticore && echo "Waiting for Manticore docker to start. Consider mapping the data_dir to make it start faster next time" && until docker logs manticore 2>&1 | grep -q "accepting connections"; do sleep 1; echo -n .; done && echo && docker exec -it manticore mysql && docker stop manticore

包管理器

  • Ubuntu、Debian、Centos、Windows 和 MacOS 包在此提供。
  • YUM 仓库适用于 RHEL/Centos/Amazon/Oracle Linux
  • APT 仓库适用于 Ubuntu/Debian/Mint
  • MacOS 上的 Homebrew
  • Windows 用户请参考此处的安装指南。

第三方集成

  • TikiWiki CMS Groupware 集成
  • Laravel ManticoreSearch 插件
  • MediaWiki 扩展
  • SilverStripe 集成
  • SearX 集成
  • PostgreSQL 的 Sphinxlink 扩展

许可

Manticore Search 在 GPLv3 或更高版本下分发。Manticore Search 使用并重新分发其他开源组件。有关详细信息,请查看组件许可证目录。

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7