关于 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++ 编写,能够高效利用内存和 CPU。在当前可复现的 Fair Database Benchmarks 中,对于 110 万条 Hacker News 评论,Manticore Search 27.1.5 比 MySQL 9.7.1 快 340 倍;对于超过 1 亿条评论,比调优后的 Elasticsearch 9.4.3 快 3.85 倍;对于 1,000 万条 Nginx 日志中的部分 DevOps 查询,比调优后的 Elasticsearch 9.4.3 快 5.03 倍。在该 Nginx 数据集上,它的数据摄取用时为 5 分 46 秒,而后者为 10 分 15 秒,平均内存占用为 3.98 GB,而后者为 36.98 GB RAM。实际结果会因工作负载而异。
高级搜索功能
Manticore Search 提供强大的搜索功能。它结合了高级全文搜索、模糊匹配、智能查询建议、过滤、分面等工具,帮助您为用户提供流畅且吸引人的搜索体验。在文档中了解更多 。
Elasticsearch 替代方案
Manticore Search 是 Elasticsearch 的强大替代方案。它可以通过一定程度地模拟其接口来无缝替换 Elasticsearch,使您能够继续使用熟悉的工具,如 Kibana 或 Logstash。这种兼容性使您能够轻松将现有的基于 Elasticsearch 的项目迁移到 Manticore Search,利用其性能优势而无需对基础设施进行重大更改。
身份验证与授权
Manticore Search 内置身份验证和细粒度授权功能。 可通过用户凭据或 Bearer 令牌保护 SQL/MySQL、HTTP/HTTPS 以及与复制相关的访问,然后只向每个应用程序、数据导入任务或管理员授予所需权限。身份验证为可选功能,您可在部署准备就绪时启用它。在文档中了解更多 。
易于扩展
受行业高标准和客户需求的驱动,我们设计了 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 可基于现有的向量化数据提供对话式搜索。 借助大语言模型提供商,它可以通过 KNN 搜索检索相关文档,利用这些文档构建上下文,保留对话历史,并在返回答案的同时附上作为依据的源数据行。配置聊天模型后,可以使用 SQL 提问,也可以使用 HTTP JSON /search 端点;还可自定义回答指令,以控制引用、语气、格式和回复长度。在文档中了解更多
。
文档
我们理解快速上手新技术的重要性。然而,我们对现有的文档引擎并不满意,因此我们创建了自己的文档引擎。我们的文档引擎 使用 Manticore Search 构建 ,具备由 Manticore Search 提供支持的搜索功能,以及美观的代码示例标签和许多其他功能。
互动课程
为了更轻松地熟悉 Manticore Search,我们还提供 免费互动课程 ,帮助您轻松学习 Manticore Search——从如何安装和配置开始,逐步深入诸如地理搜索、"您是否是指"功能、自动补全和分面实现等主题。

