内容提要
作者对比了TIN与Lakebase的Postgres全文搜索:TIN无需防抖,支持通配符自动补全和模糊匹配,不忽略停用词,毫秒级返回精确计数;Lakebase需3.6秒且仅估算3400条结果,实际为213447条。成本上,Lakebase月费约5186美元,TIN仅609美元,更快更强且便宜八倍以上。
延伸解读
精确计数与估算的差距
文章指出,Lakebase 对“show hn”搜索返回约 3,400 条结果,但实际计数为 213,447 条,且耗时 3.6 秒。TIN 则能在几毫秒内提供精确计数,即使面对复杂多词查询。对于需要准确结果数量的应用,这种差异可能影响分页、统计和用户体验。
无需防抖的即时搜索体验
原应用在每次击键后等待 250 毫秒才发起搜索,而 TIN 版本可以立即响应每次输入。这得益于 TIN 的高性能,使得开发者无需通过防抖来减轻数据库压力,从而让搜索交互更流畅、更自然。
通配符与模糊匹配的实用功能
TIN 支持通配符搜索,可将未完成的单词自动补全为前缀匹配,例如输入“datab”会匹配“database”。同时,TIN 还支持基于 Levenshtein 编辑距离的模糊匹配,当结果过少时自动对最冷门的词进行模糊处理,帮助用户找到拼写错误或变体。
成本对比:TIN 显著更经济
文章对比了两种方案的月费:Lakebase 使用 32 CU 的 Scale 实例且永不休眠,月费约 5,186 美元;TIN 使用三个 M-160 实例组成的高可用集群,月费仅 609 美元。TIN 在提供更快搜索和更多功能的同时,成本不到 Lakebase 的八分之一。
Q&A
TIN Postgres搜索和Lakebase相比,速度上有多大差距?
TIN搜索响应速度远快于Lakebase。例如,搜索“show hn”时,Lakebase需要3.6秒,而TIN仅需几毫秒即可返回精确计数。在输入过程中,TIN能在11毫秒内完成搜索、计数和排名。
TIN Postgres搜索支持哪些Lakebase没有的搜索功能?
TIN支持通配符自动补全、模糊匹配(Levenshtein编辑距离),并且不忽略停用词,可以搜索常见词。而Lakebase需要防抖,不支持这些功能。
为什么TIN Postgres搜索不需要防抖?
因为TIN搜索速度极快,可以立即处理每次击键的查询,无需像Lakebase那样等待250毫秒的防抖延迟。
TIN Postgres搜索的成本比Lakebase低多少?
TIN的月费用约为609美元,而Lakebase约为5186美元,TIN的成本不到Lakebase的八分之一。
TIN Postgres搜索如何处理停用词?
TIN不忽略停用词,而是索引所有单词,因此可以搜索像“to be or not to be”或“The Who”这样的常见词短语。
TIN Postgres搜索的模糊匹配是如何工作的?
当搜索返回结果过少时,TIN会对每个词进行计数,然后对最不常见的词允许编辑距离为2的模糊匹配,如果仍不够,则逐步对所有词进行模糊匹配。