一款开源的进程内向量数据库,可直接嵌入应用,无需单独部署服务即可进行低延迟相似度搜索。
- Star
- 4,346
- Fork
- 360
- 未关闭 Issue
- 110
- 最近提交
- 3天前
这是什么?
USearch 是一个基于 HNSW 图算法的相似度搜索与聚类引擎,可对向量建立索引,并支持用户自定义距离度量。例如,它可以用于语义搜索、分子指纹检索,或使用 Haversine 距离做地理位置查询。核心实现是一个 C++11 单头文件库,并为 C、Python、JavaScript、Java、Rust、Go、Swift、C# 等语言提供绑定。
索引支持 bf16、f16、e5m2、i8 等低精度向量类型,也支持用于 Tanimoto、Hamming 等指标的二进制类型。索引可以保存为文件、流或内存映射缓冲区,并且能够直接从磁盘提供服务而无需全部加载到内存。搜索时可以在图遍历过程中应用过滤谓词,小规模数据集还可以使用精确的暴力搜索模式。
项目还提供基于已有索引的 K 近邻聚类,以及用于一对一或多对多模糊匹配的 join 操作。ClickHouse、DuckDB 等数据库将其作为向量索引后端。
核心功能
- 01单个 C++11 头文件库,代码量小
- 02基于 HNSW 的近似最近邻搜索
- 03支持用户自定义距离度量,包括 Python 中的 JIT 编译度量
- 04支持 bf16、f16、e5m2、i8 等低精度向量存储
- 05可从磁盘或内存映射文件直接提供索引服务
- 06在图遍历过程中应用谓词过滤
适用场景
- 为应用或服务添加基于嵌入向量的语义搜索
- 在移动端或客户端应用中嵌入跨平台向量索引
- 对分子指纹或地理坐标进行相似度检索
- 从磁盘提供超大规模索引服务,降低内存成本
标签
常见问题
- USearch 是什么?
- 单文件 C++ 向量近似最近邻搜索与聚类引擎,提供 Python、JavaScript、Rust 等多语言绑定。 USearch 是一个基于 HNSW 图算法的相似度搜索与聚类引擎,可对向量建立索引,并支持用户自定义距离度量。例如,它可以用于语义搜索、分子指纹检索,或使用 Haversine 距离做地理位置查询。核心实现是一个 C++11 单头文件库,并为 C、Python、JavaScript、Java、Rust、Go、Swift、C# 等语言提供绑定。
- USearch 可以免费使用吗?用的什么许可证?
- USearch 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- USearch 还在维护吗?
- 活跃维护中。USearch 最近一次提交是在 2026年10月18日。
- USearch 适合用来做什么?
- 为应用或服务添加基于嵌入向量的语义搜索 在移动端或客户端应用中嵌入跨平台向量索引 对分子指纹或地理坐标进行相似度检索 从磁盘提供超大规模索引服务,降低内存成本
- 在哪里获取 USearch?
- 源代码和安装说明在 GitHub 上:https://github.com/unum-cloud/USearch
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.6万1014C++Apache-2.0更新于 3天前
Qdrant 是用 Rust 编写的向量相似度搜索引擎和向量数据库,支持带条件过滤的语义搜索与推荐。
3.5万2765RustApache-2.0更新于 前天
为 Postgres 提供向量相似度搜索的开源扩展,可与关系型数据存放在一起。
2.3万1357COther更新于 4天前
开源向量数据库,同时存储对象与向量,将向量相似度检索与结构化过滤结合起来。
1.7万1427GoOther更新于 17小时前
面向多模态 AI 的嵌入式检索库与数据库,支持向量、全文和 SQL 查询,数据基于 Lance 列式格式存储。
1.2万1126RustApache-2.0更新于 20小时前
一个基于 C++、提供 Python 接口的稠密向量相似度搜索与聚类库,可选 GPU 加速。
4.1万4561C++MIT更新于 前天