这个项目能做什么

Manticore Search 是一款专为搜索工作负载构建的开源数据库,定位为 Elasticsearch 的替代方案。它在单一引擎中结合了全文搜索、向量搜索和混合检索,并支持实时索引,因此新插入或更新的文档可立即被搜索到。 README 中描述的主要能力: - 全文搜索,支持 20 多种运算符和排序因子、自定义排序、模糊搜索、分面搜索、地理空间搜索、自动补全、拼写纠正和表连接。 - 向量和混合搜索,包括 KNN 检索、自动嵌入与自动分块(固定大小、递归或基于句子)并存储在 float_vector_array 中,以及通过 SQL CALL CHAT 或 HTTP JSON /search 端点进行对话式搜索。 - SQL 优先接口,兼容 MySQL,因此用户可以使用熟悉的 MySQL 客户端连接。还提供 HTTP JSON API 和兼容 Elasticsearch 的写入。 - 存储选项:面向行的存储以提升速度,列式存储(通过 Manticore Columnar Library)用于大于内存的数据集,以及避免为获取原始值而使用 RAM 的 docstore 模式。 - 使用 PGM-index 的自动二级索引,以及基于成本的查询优化器,利用索引统计信息选择执行计划。 - 多线程查询执行以及跨 CPU 核心的查询并行化。 - 分片表,可在单节点上的分片之间或跨复制集群分布读写,并具有基于 Galera 的近乎同步的多主复制和内置负载均衡。 - 内置身份验证和授权,适用于 MySQL、HTTP/HTTPS、分布式代理和复制,使用用户、bearer 令牌和细粒度权限,并支持 HTTPS 和只读模式。 - 从 MySQL、PostgreSQL、ODBC、MS SQL、XML、CSV 和 Kafka 同步数据,并与 ProxySQL、Apache Superset、Grafana、Fluentbit、Kibana、Logstash/Filebeat、Vector.dev 和 mysqldump 集成。 - 通过 manticore-backup 工具、SQL BACKUP 命令以及兼容 S3 的备份/恢复进行备份和恢复。 - NLP 功能,包括词干提取、词形还原、停用词、同义词、词形、底层分词、中文分词和文本高亮。 - 通过 percolate 表或 Kafka 集成进行流过滤。 - 面向 PHP、Python、Python asyncio、JavaScript、TypeScript、Java、Elixir、Go 和 Rust 的官方客户端。 安装选项包括适用于 Linux 和 macOS(Homebrew)的一行 shell 安装程序、Docker 镜像、RPM 和 APT 仓库、macOS 上的 Homebrew,以及 WSL 或原生 Windows 说明。README 指出该项目根据 GPLv3 或更高版本分发,并重新分发了其他开源组件。它还指出 Manticore 被 Craigslist、Socialgist、PubChem 和 Rozetka 等组织使用,并链接到文档、互动课程、论坛、Slack 和 Telegram 频道。