关于 Manticore Search
Manticore Search - 易于使用的开源快速搜索数据库
Manticore Search 是一个开源数据库,于 2017 年作为 Sphinx Search 引擎的延续而创建。我们在其优势的基础上进行了构建,显著改进了其功能并修复了 数百个错误 ,同时保持其开源特性。这使 Manticore Search 成为一个现代、快速、轻量级且功能齐全的数据库,具有卓越的全文搜索能力。
我们的目标和宗旨
易于使用
我们认为,在当今世界,任何技术供应商的主要关注点应该是易于使用。我们的目标是让我们的用户,无论是开发人员还是 DevOps,无需成为数据库或搜索引擎专家,或拥有博士学位,就能有效使用 Manticore 产品。我们理解我们的用户有其他重要的任务要处理,而不是花费数小时去理解各种设置的复杂性及其对功能的影响。因此,我们努力确保 Manticore Search 在最小配置下无缝且高效地运行,即使使用默认设置。
SQL / JSON
我们热爱 SQL。在准备搜索查询时,很难找到比它更直接的东西。大多数开发人员都熟悉 WHERE、GROUP BY 和 ORDER BY,因为它们已经使用了几十年。使用 Manticore Search,您可以使用 SQL 执行任何类型的查询。此外,Manticore Search 还理解 MySQL 协议,允许您使用 MySQL 客户端进行查询。然而,我们理解在应用程序中编写查询可能更适合使用更结构化的协议而不是 SQL 字符串。因此,Manticore Search 也支持 JSON。此外,我们还为各种编程语言提供了 Manticore Search 绑定,以使集成更加无缝。
多模型
Manticore Search 支持行式存储(类似于 MySQL 和 Postgres)和列式存储(类似于 Redshift、Clickhouse、BigQuery 和 Druid),使其在 小数据集 上 极其快速 ,这些数据集可以放入 RAM 中,同时在数据 显著大于 RAM 大小 时仍能保持速度。
此外,Manticore Search 提供两种配置模式:plain,其中所有表在配置文件中指定(类似于 k8s yamls),以及 real-time,其中表通过 CREATE/ALTER/DROP TABLE 命令创建、修改和删除。
性能和资源消耗
我们认为性能和资源消耗很重要。这就是为什么 Manticore Search 是用 C++ 编写的,这是一种常用于编写操作系统、浏览器和其他软件的编程语言,在这些软件中性能和资源效率至关重要。用 C++ 编写可能具有挑战性且耗时,但它使我们能够确保 Manticore Search 使用最少的 RAM 并最大化 CPU 效率。根据 Fair database benchmarks https://db-benchmarks.com ,Manticore Search 在 小数据 上比 Elasticsearch 快 15 倍,在 大数据 上 快 4 倍,在 日志分析 上 快 29 倍。
高级搜索功能
Manticore Search 提供强大的搜索功能,包括高效的向量搜索。您可以存储和搜索向量嵌入,同时利用高级全文搜索、模糊匹配和智能查询建议——类似于 Google。这有助于您为用户提供流畅且吸引人的搜索体验。
Elasticsearch 替代方案
Manticore Search 是 Elasticsearch 的强大替代方案。它可以通过在一定程度上模拟其接口来无缝替换 Elasticsearch,使您能够继续使用熟悉的工具如 Kibana 或 Logstash。这种兼容性使您能够轻松将现有的基于 Elasticsearch 的项目迁移到 Manticore Search,利用其性能优势而无需对基础设施进行重大更改。
易于扩展
受行业高标准和客户需求的驱动,我们设计了 Manticore 以易于扩展。这意味着无论您的搜索任务的规模或复杂性如何——无论是小型网站、数十亿日志记录的分析,还是构建一个包含来自不同来源的 PB 级数据的多语言目录——您都可以使用 Manticore Search 完成。此外,我们认为诸如 复制和搜索负载分配等功能应易于使用和维护。
强大的全文功能
Manticore Search 最初设计为纯全文搜索引擎,拥有 卓越的全文功能:拥有超过 20 个全文操作符和 20 多个排名因素,提供多种内置排名器和基于表达式的自定义排名器。此外,它还包括诸如文本词干提取、词形还原、停用词、同义词、词形变化、低级字符映射、正确的中文分词、简单的文本高亮、排名和分词插件等功能。
集成
我们认为 将 Manticore Search 集成到现有技术栈中应该是一件简单的事情。正因如此,Manticore 可以直接读取来自 MySQL、Postgres、MSSQL、ODBC、XML、CSV、TSV 的数据。它还可以作为引擎与 MySQL 集成,或通过 ProxySQL 进行访问。Manticore Search 还能与 Logstash、Apache Superset、Grafana 和其他开源工具无缝集成。
开源
作为开源爱好者,我们坚信像数据库这样的技术应当是开源的。本着这一理念,我们已将 Manticore Search 及所有其他 Manticore 产品在 OSI 认可的开源许可证下公开。您可以在 GitHub 上找到我们。
向量搜索
Manticore Search 支持向量搜索,适用于相似性搜索、推荐和语义搜索等功能。通过利用嵌入(高维空间中的数据表示),它有助于创建智能且精确的搜索体验。使用高效的 HNSW 算法进行 KNN(k-最近邻)搜索,Manticore 支持灵活的向量配置和相似性度量,如余弦相似度、内积和平方 L2 距离。与 SQL 和 JSON API 的集成无缝,确保与现有工作流程的轻松兼容。
文档
我们理解快速上手新技术的重要性。然而,我们对现有的文档引擎并不满意,因此我们创建了自己的文档引擎。我们的文档引擎 使用 Manticore Search 构建 ,具有由 Manticore Search 提供支持的搜索功能,以及漂亮的代码示例标签和许多其他功能。
互动课程
为了更轻松地熟悉 Manticore Search,我们还提供 免费互动课程 ,帮助您轻松学习 Manticore Search——从如何安装和配置开始,逐步深入地理搜索、"您可能是指"功能、自动补全和分面实现等主题。

