返回首页

24小时热榜

23作者: tjgreen大约 10 小时前原帖
去年夏天,我们在Tiger Data公司面临了一个难题。Tiger Data是一家Postgres云服务提供商,主要业务集中在时间序列数据上。我们希望将业务拓展到新兴的以人工智能为中心的工作负载,并希望在Postgres中提供一套先进的混合搜索技术。我们已经在内部构建了pgvectorscale,旨在突破pgvector的主内存限制,实现语义搜索的扩展。我们还需要一个可扩展的排名关键词搜索解决方案。 问题是:核心Postgres并没有提供这样的功能;领先的Postgres BM25扩展ParadeDB受到AGPL的保护;开发我们自己的扩展似乎是一项艰巨的任务。我估计我们需要一个小团队的优秀工程师和6到12个月的时间。而且我们可能仍然无法达到像Parade/Tantivy这样成熟系统的性能。 或者说,我们会吗?到那时,我已经在AI增强开发方面进行了足够长时间的实验,意识到借助最新工具(Claude Code + Opus)和经验丰富的团队(我在数据库系统内部工作了25年),过去的时间估计几乎可以抛到一边。 我告诉我们的首席技术官,我认为我可以在一个季度内独立完成这个项目。这引起了一些人的关注。 实际上,这花费的时间稍微多了一些(两个季度),而且在开源预发布后,我们得到了社区的真正帮助(太棒了!)。但今天我非常兴奋(也有点疲惫)地分享,pg_textsearch v1.0已经通过开源(Postgres许可证)在Tiger Data云上自由提供,希望不久后能在您附近的超大规模环境中使用: [https://github.com/timescale/pg_textsearch](https://github.com/timescale/pg_textsearch) 在伴随发布的博客文章中,我概述了架构,并展示了使用MS-MARCO的基准测试结果。令我惊讶的是,我们不仅能够达到Parade/Tantivy的查询性能,而且在查询吞吐量上大幅超越,测得在规模上有4.7倍的优势: [https://www.tigerdata.com/blog/pg-textsearch-bm25-full-text-search-postgres](https://www.tigerdata.com/blog/pg-textsearch-bm25-full-text-search-postgres) 看到我在这个领域辛勤耕耘了这么久的工作迅速发生变化,使我们能够在技术目标上更加雄心勃勃,这令人兴奋(老实说,也有点不安)。技术壁垒不再是壁垒。 基准测试脚本和方法论已在GitHub仓库中提供。欢迎在讨论中提出任何问题。 谢谢, TJ (tj@tigerdata.com)