PlanetScale 为 Postgres 推出全文索引 TIN,不再需要外部搜索引擎
来源:planetscale.com — 85 分 · by ksec
📋 概述
PlanetScale 发布 Postgres 全文搜索扩展 TIN(Text INdex)并直接 GA,用户不再需要为了全文检索外挂 Elasticsearch 之类的系统。TIN 用 `CREATE INDEX ... USING tin(col)` 建索引,用 `WHERE col ==> 'words'` 查询,同时支持布尔表达式、短语与 span 查询、模糊/通配符/正则匹配、大小写与变音符号折叠,以及 COUNT(*) 与 BM25 排序取 top-k。文章的重点在于解释它为什么快:48 位的文档标识、工作消除与向量化、MVCC 正确性的处理方式,以及段的合并策略。
🔑 核心要点
- 安装即用:USING tin 建索引,==> 运算符查询,无需外部检索服务。
- 能力覆盖完整:布尔、短语、span 查询,加上模糊、通配符与正则匹配。
- 检索质量有保障:支持 COUNT(*) 与 BM25 打分取 top-k,还有大小写与变音符号折叠。
- 快的原因是结构性的:48 位文档标识、工作消除与向量化,而不是靠堆内存。
- 最难的部分是事务可见性:作者单列一节讲如何使用 MVCC 并靠段合并收敛。
- 文中给出了索引构建时间与体积、混合查询、并发写入下的析取查询等完整基准数据。
💡 金句
一个优秀的文本索引必须同时处理连接、复杂的 WHERE 子句、持续更新、复制、备份和正确的事务可见性。
👍 0
👎 0
← 返回 Hacker News 首页