Postgresの全文検索を25倍高速化するTIN、PlanetScaleが公開
Tin: full-text search for Postgres

PlanetScaleがPostgres向けの全文検索拡張「TIN」を正式リリースした。ブール式やフレーズ検索、ファジーマッチ、BM25スコアリングに対応し、既存のParadeDBやpg_textsearch、標準GINを大きく上回る性能を発揮する。ベンチマークではParadeDB比で毎秒25倍のクエリ処理、p99レイテンシは26分の1。書き込みが同時に走る状況でも性能劣化が小さい。
TIN handles 25× as many queries per second as ParadeDB does, with p99 latencies 26× lower.
HNでの議論
80- andrenotgiant
あらゆるデータベース企業が新しい全文検索機能を提供しているのを見ると、AIによるコーディング生産性が現実世界に現れている例だと思う。
始まりはparadeDBとpg_searchだった https://www.paradedb.com/blog/introducing-search
Timescaleにはpg_textsearchがある https://github.com/timescale/pg_textsearch
NeonとDatabricksにはLakebase Searchがある https://docs.databricks.com/aws/en/oltp/projects/lakebase-se...
今度はPlanetScaleだ。
私の知る限り、これらはすべてBM25アルゴリズムの実装だ。エージェントにBM25について読んで、好きなシステムに実装するように言うだけでいい。素晴らしい。アーキテクチャや各システムへの統合方法にはまだまだ改善の余地がたくさんあるように思えるが、これが積極的なコモディティ化につながるのかどうか、考えずにはいられない。
- Tiberium
興味がある人のために - https://planetscale.com/docs/postgres/search/get-started#loc...:
彼らは同じパフォーマンスのローカル拡張機能を現時点では提供していない - クラウドサービスでのみ提供されている。
ローカル版 https://github.com/planetscale/lead は主に構文をテストするためのもので、同じパフォーマンス特性はない。
- groundzeros2015
Postgresのマニュアルを読んでください。信じられないほど優れた組み込みの検索機能があります。
- tannhaeuser
Postgresにはpg_fts(tsvector/tsquery/tsrank)があり、関数インデックスやクエリ最適化と統合された非常に洗練された全文検索パッケージだ。なぜコアPostgresの一部ではない、vibecodedされたものを使う必要があるのか?
- usernametaken29
興味深いことに、SQLiteのFTSはLuceneクエリをすぐにサポートしており、優れたパフォーマンス特性を持っている。確か、しばらくすると書き込みだけがかなり遅くなる。
なぜPostgreSQLがその実装を自らのデータベースに組み込まないのか、いつも不思議に思っていた。ts_queryの経験は特にバラ色ではなかった。LIKEよりはマシだが、ほんのわずかで、しかも異常なインデックスサイズという代償を払う…
この拡張機能がオープンソースになり、実世界でテストできるようになれば、きっとスイートスポットがあるはずだ。