Postgres BM25扩展横空出世,在AI混合搜索赛道正面挑战Elasticsearch

Hacker News March 2026
来源:Hacker Newsvector databaseAI infrastructure归档:March 2026
一位资深数据库工程师成功开源了PostgreSQL原生BM25搜索扩展,将成熟的全文检索排名算法直接嵌入数据库内核。此举直接挑战了Elasticsearch等外部搜索引擎的必要性,剑指需要无缝混合检索的AI工作负载这一蓬勃市场,标志着一次关键的战略布局。

专为PostgreSQL打造的高性能原生BM25搜索扩展的发布,是现代AI应用需求驱动下的数据库演进分水岭。该项目由一家头部Postgres云服务商的资深工程师主导开发,常被称为`pg_bm25`。它并非孤立的功能,而是一个更宏大战略中的精心设计组件。它与现有扩展(如旨在克服高维向量搜索内存限制的`pgvectorscale`)协同工作,旨在单个数据库实例内提供完整、可扩展的混合搜索解决方案。核心创新在于将久经考验的自由文本排名算法BM25直接集成到Postgres的查询规划器和执行引擎中,从而消除了传统上对独立搜索引擎的依赖。这为需要在同一事务环境中同时处理精确关键词匹配与语义向量相似性搜索的AI应用,提供了前所未有的架构简化和性能潜力。

技术深度解析

为PostgreSQL开发原生BM25扩展的技术抱负是深远的:让一个关系型数据库在不离开其事务环境的前提下,表现得像一流的搜索引擎。挑战不仅在于实现BM25评分函数本身,更在于实现能与Elasticsearch或OpenSearch等专用系统竞争的性能和可扩展性。

从架构上看,该扩展必须集成到Postgres的多个层面。首先,它需要自定义的索引访问方法。虽然Postgres拥有全文搜索功能(TSVECTOR),但其排名算法比BM25简单。一个真正的BM25扩展需要创建新的索引类型,以针对BM25公式优化的格式存储词频、文档频率和文档长度:`score(D, Q) = Σ IDF(q_i) * (f(q_i, D) * (k1 + 1)) / (f(q_i, D) + k1 * (1 - b + b * |D| / avgdl))`。高效实现意味着将评分计算下推到索引扫描阶段,避免在排名前物化所有候选行。

其次,它需要与查询规划器深度集成。对于结合BM25关键词搜索和pgvector相似性搜索的混合查询,规划器必须就索引组合(例如,对两个索引结果的位图AND/OR操作)和最优检索顺序做出智能决策。像`pgvectorscale`这样的项目已经通过引入基于磁盘的近似最近邻(ANN)索引和查询规划优化,解决了纯内存向量搜索的扩展性问题。新的BM25扩展必须设计成能与这个向量技术栈无缝互操作。

一个体现此方向的相关开源项目是`pg_bm25`,它是一个基于`pgvector`和`pgvectorscale`构建的扩展。它引入了新的`BM25`索引类型和相应的查询操作符。早期的基准测试(尽管仍在演进中)显示,在数百万文档的数据集上进行纯关键词搜索时,其延迟表现令人鼓舞,但在海量数据集上与经过调优的Elasticsearch集群达到绝对性能持平,仍是正在进行的工作。

| 搜索类型 | Postgres + `pg_bm25` (P95延迟) | Elasticsearch (P95延迟) | 架构复杂度 |
|---|---|---|---|
| 纯关键词搜索 (100万文档) | ~45毫秒 | ~25毫秒 | 单一数据库 vs. 双系统 |
| 混合搜索 (关键词+向量) | ~120毫秒 | ~180毫秒 + 同步开销 | 原生连接 vs. 应用层融合 |
| 数据新鲜度 (写入到可搜索) | 即时 (事务性) | 数秒至数分钟 (异步同步) | 内置 vs. 外部管道 |

数据洞察: 原生Postgres解决方案以牺牲部分峰值关键词搜索延迟为代价,换取了架构简洁性、数据新鲜度和混合查询效率的巨大提升。其真正价值体现在组合工作流中,消除系统间延迟和复杂性所带来的收益,超过了原始关键词搜索速度的优势。

关键参与者与案例研究

这项开发由Supabase和Tembo等公司的工程师牵头,但其开源性质意味着贡献来自整个社区。Supabase将自身定位为开源Firebase替代品,有明确的动机将Postgres增强为一个全面的后端。他们对`pgvector`的集成以及对BM25方向的倡导,是产品驱动增长的一个典型案例:他们为开发者提供构建AI功能的简易工具,从而推动其托管平台的采用。

另一个关键参与者是Tembo,一家由前微软和Citus Data工程师创立的Postgres平台公司。他们明确提出了通过扩展将Postgres转变为“平台之平台”的战略。他们在`pgvectorscale`上的工作直接解决了纯内存向量搜索受内存限制的问题,而原生BM25扩展则是完善检索能力的合乎逻辑的下一步。

在竞争方面,Elasticsearch(及其开源分支OpenSearch)仍是现有主导者。Elastic N.V.一直积极进军AI/可观测性领域,但其核心搜索产品与运营数据库是分离的集群。Weaviate和Pinecone等公司提供托管向量数据库,并开始添加稀疏-稠密(混合)搜索能力,但它们并非完整的关系型数据库。

| 解决方案 | 主要优势 | 混合搜索实现方式 | 运营模式 |
|---|---|---|---|
| Postgres + `pg_bm25`/`pgvector` | 统一的SQL、ACID、单一系统 | 原生,在查询规划器内实现 | 自托管或托管Postgres |
| Elasticsearch + 应用层 | 峰值关键词搜索性能,横向扩展 | 应用端融合独立查询结果 | 独立集群,通常托管 |
| Weaviate/Pinecone | 高性能向量相似性搜索 | 原生混合排名 (Alpha/Beta阶段) | 独立的托管服务 |
| SQL向量数据库 (SingleStore等) | SQL接口,部分事务支持 | 专有集成引擎 | 专有数据库 |

数据洞察: 竞争格局正在分化为统一平台(Postgres)与最佳组合、专业化系统两大阵营。

更多来自 Hacker News

AI浏览器插件用DeepSeek V4 Flash消灭广告,开启智能阅读时代一款全新的Chrome浏览器插件正重新定义我们消费在线内容的方式。它利用DeepSeek V4 Flash API,智能剥离网页中的广告、侧边栏、弹窗及其他视觉噪音。与依赖静态过滤列表和规则匹配的传统广告拦截器不同,这款插件借助大语言模型从Kimi信用卡:月之暗面押注AI代理,重塑消费金融的野心之作2026年6月30日,月之暗面(Moonshot AI)正式推出Kimi联名信用卡,这是一款由其旗舰大语言模型驱动的实体支付工具。与传统信用卡不同,Kimi信用卡持续分析每一笔交易,以优化信用额度、实时调整返现比例,并根据用户的消费历史主动Fastllm击穿硬件壁垒:10GB显存跑DeepSeek-V4,消费级GPU迎来大模型时代长期以来,AI领域的主流观点认为,运行最强大的大语言模型需要庞大且昂贵的企业级GPU集群。而开源推理引擎Fastllm正在系统性地瓦解这一假设。其最新成就——在仅配备10GB显存的消费级RTX 3080上运行拥有6710亿参数的混合专家(M查看来源专题页Hacker News 已收录 5442 篇文章

相关专题

vector database39 篇相关文章AI infrastructure334 篇相关文章

时间归档

March 20262347 篇已发布文章

延伸阅读

OpenData Vector Turns Object Storage Into a Vector Database, Challenging AI Infrastructure NormsOpenData Vector, an MIT-licensed open-source project, enables approximate nearest neighbor search directly on object stoDeepSeek V4峰谷定价:AI算力迈入智能电网时代DeepSeek为其V4大语言模型引入动态峰谷定价机制,将推理成本与实时服务器负载直接挂钩,彻底颠覆了AI API的定价模式。这一类似电网管理的举措,旨在优化资源利用率,并为预算有限的开发者降低使用门槛。英伟达45°C冷却革命:无水数据中心重塑AI基础设施英伟达发布45°C冷却架构,彻底摒弃蒸发冷却塔,将数据中心水耗降至近乎为零。这一变革不仅回应了环保审视,更解锁了更高的GPU部署密度,有望重新定义超大规模算力经济学与AI训练吞吐量。Claude多模型同时宕机:AI基础设施脆弱性的警钟2026年6月22日,Claude生态系统中四款核心模型——Opus 4.8、4.7、4.6与Sonnet 4.6——同时遭遇高错误率,导致高端与中端产品线全线瘫痪。这不是孤立的模型漏洞,而是共享推理基础设施的系统性崩溃,暴露了AI服务在规

常见问题

GitHub 热点“Postgres BM25 Extension Challenges Elasticsearch in AI's Hybrid Search Race”主要讲了什么?

The release of a high-performance, native BM25 search extension for PostgreSQL marks a watershed moment in database evolution, driven by the demands of modern AI applications. Deve…

这个 GitHub 项目在“pg_bm25 vs Elasticsearch performance benchmarks 2024”上为什么会引发关注?

The technical ambition behind a native Postgres BM25 extension is profound: to make a relational database behave like a best-in-class search engine without leaving its transactional environment. The challenge is not mere…

从“how to implement hybrid search in PostgreSQL with pgvector and BM25”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 0,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。