用 Rust 编写的词法、向量与混合搜索引擎,可嵌入应用作为库使用,也可作为多租户服务运行。
- Star
- 10,603
- Fork
- 409
- 未关闭 Issue
- 35
- 最近提交
- 20天前
这是什么?
Orama 是一个用 TypeScript 编写的搜索库,可直接嵌入你的应用中。它能在浏览器、服务器或边缘网络上运行,无需单独部署搜索服务即可添加搜索功能。
库中包含带拼写容错的全文搜索、BM25 排序、30 种语言的词干提取与分词、字段加权等能力,并支持向量搜索以及结合两者的混合搜索。此外还提供过滤、分面、地理位置搜索和置顶规则。文档依据类型化的 schema 定义,字段类型包括字符串、数字、布尔、枚举、地理坐标和向量。
项目提供插件,可在插入和搜索时生成嵌入向量,从客户端安全地代理 OpenAI 调用,并基于已索引的数据构建问答式会话。可通过 npm 安装,也可从 CDN 加载或在 Deno 中使用。
核心功能
- 01支持带拼写容错、BM25 排序和精确匹配的全文搜索
- 02支持向量搜索与混合搜索,实现语义检索
- 03提供过滤、分面、地理位置搜索和字段加权
- 04支持 30 种语言的词干提取与分词
- 05通过插件系统扩展嵌入生成、数据持久化和分析功能
适用场景
- 为静态网站或文档站点添加浏览器端搜索
- 为商品目录构建语义或混合搜索
- 基于自有内容搭建 RAG 风格的问答界面
快速上手
- 1
使用 npm 安装软件包
npm i @orama/orama - 2
在代码中创建数据库、插入文档并进行搜索
使用前须知
- 向量搜索和混合搜索需要文本嵌入,您需要自行提供,或通过插件生成。
- 使用 OpenAI 模型生成嵌入需要通过 Secure Proxy 插件配置 API 密钥。
收录于专题
标签
常见问题
- orama 是什么?
- 一个可在浏览器、Node.js 或边缘网络运行的 JavaScript/TypeScript 搜索引擎库,支持全文、向量和混合搜索。 Orama 是一个用 TypeScript 编写的搜索库,可直接嵌入你的应用中。它能在浏览器、服务器或边缘网络上运行,无需单独部署搜索服务即可添加搜索功能。
- orama 可以免费使用吗?用的什么许可证?
- orama 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- orama 还在维护吗?
- 活跃维护中。orama 最近一次提交是在 2026年10月18日。
- orama 适合用来做什么?
- 为静态网站或文档站点添加浏览器端搜索 为商品目录构建语义或混合搜索 基于自有内容搭建 RAG 风格的问答界面
- orama 怎么安装和运行?
- 使用 npm 安装软件包: npm i @orama/orama 在代码中创建数据库、插入文档并进行搜索
- 在哪里获取 orama?
- 源代码和安装说明在 GitHub 上:https://github.com/oramasearch/orama
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1936+4 本周74RustApache-2.0更新于 昨天
分布式、基于 RESTful 接口的搜索与分析引擎,同时可作为可扩展数据存储和向量数据库使用。
7.9万+94 本周2.6万JavaOther维护活跃更新于 4小时前
一款提供 API 的快速搜索引擎,支持全文、语义和混合搜索,可容忍拼写错误,适用于网站和应用。
6万+74 本周2779RustOther维护活跃更新于 3天前
Typesense 是一个开源的内存搜索引擎,支持容错拼写、分面筛选、地理搜索和向量搜索,是 Algolia 和 Elasticsearch 的易用替代方案。
2.7万+32 本周1030C++GPL-3.0更新于 前天
开源搜索数据库,支持全文、向量与混合检索,支持实时索引和 SQL,可作为 Elasticsearch 的替代方案。
1.2万+5 本周656C++GPL-3.0更新于 4小时前
Apache Solr 是基于 Apache Lucene 构建的开源多模态搜索平台,支持全文、向量和地理空间搜索。
1699+6 本周871JavaApache-2.0维护活跃更新于 17小时前