使用 BM25 的全文搜索
在文本列上创建倒排索引,并使用 `@@` 运算符、短语构造器和 BM25 排名进行查询。
SereneDB 是面向实时全文、向量、混合搜索和分析查询的搜索分析型数据库,使用 SQL 与 PostgreSQL 协议,在同一数据引擎中统一搜索与分析。
SereneDB 是一款用于实时搜索分析的开源搜索分析型数据库。它在同一个可通过 SQL 访问的引擎中整合全文、向量、混合和分析查询,使搜索谓词、语义排序、过滤与聚合能够基于同一份数据运行。
该产品使用 PostgreSQL 协议和兼容 PostgreSQL 的 SQL 方言,因此可以通过 psql 及其他兼容客户端和驱动程序访问。它以单个二进制文件形式提供,并支持 Docker 和 Linux 安装方式,同时提供适用于 macOS 和 Windows 的可下载构建版本。
SereneDB 还支持从对象存储、HTTP 和 Hugging Face Hub 读取 Parquet、CSV 和 JSON。外部文件可以原地建立索引,实现零 ETL 搜索;SQL 函数则可以生成嵌入向量,用于向量和混合检索工作流。
在文本列上创建倒排索引,并使用 `@@` 运算符、短语构造器和 BM25 排名进行查询。
将嵌入向量存储在关系数据旁边,构建 IVF 索引,并在单个查询中结合词法过滤与语义排序。
对搜索结果执行 SQL 聚合、过滤和分析查询,无需将数据复制到独立的数据仓库或搜索系统中。
通过 PostgreSQL 协议使用 `psql` 或兼容 PostgreSQL 的客户端和驱动程序进行连接。其 SQL 方言与 PostgreSQL 约定高度一致。
从对象存储、HTTP 和 Hugging Face Hub 读取 Parquet、CSV 和 JSON,或对支持的外部文件进行原地索引,实现零 ETL 搜索。
使用 `ai_embed` 函数通过已配置的提供商生成向量,包括兼容 OpenAI 的端点和本地 Ollama 服务器。
为文档或其他文本集合建立索引,然后使用全文、向量或混合检索查找相关段落,并根据关键词匹配或语义对结果进行排序。
在 SQL 中生成嵌入向量,并将向量或混合搜索用作检索层,为基于依据的回答和面向智能体的数据库工作流提供支持。
在同一条语句中过滤搜索结果并进行聚合,例如对匹配记录分组,并计算所选数据集的平均值。
查询存储在对象存储、HTTP 地址或 Hugging Face Hub 中的 Parquet、CSV 或 JSON 数据集,并在支持的情况下进行原地索引。
为已使用兼容 PostgreSQL 驱动程序的应用添加搜索功能,同时保留对关系数据和分析操作的 SQL 访问能力。
文档中的快速入门支持 Docker 和 Linux 安装脚本。下载页面还列出了 Linux 软件包和归档文件,以及 macOS DMG 和 Windows EXE 下载。其他安装选项可通过 GitHub releases 页面获取。
SereneDB 使用 PostgreSQL 协议。快速入门展示了使用 `psql -h localhost -p 7890` 进行连接;在该本地设置中,默认无需凭据。
可以。文档展示了如何通过 SQL 从对象存储、HTTP 和 Hugging Face Hub 读取 Parquet、CSV 和 JSON。文档还介绍了对外部文件进行原地索引,以实现零 ETL 搜索。
可以。有一项文档工作流使用全文谓词选择匹配行,然后在同一条 SQL 语句中应用 `GROUP BY`、排序和聚合函数。
快速入门文档展示了一个兼容 OpenAI 的提供商,并说明也可以使用本地 Ollama 服务器。提供商通过 `CREATE SECRET` 进行配置。