PlanetScaleがPostgres向け全文検索拡張「TIN」をGA公開
मूल शीर्षक: Tin: full-text search for Postgres
यह क्यों महत्वपूर्ण है
Postgresネイティブの全文検索は長年の課題であり、ElasticsearchなどへのデータパイプラインなしにアプリSearch機能を完結できる点が開発現場の負荷を大きく下げうる。
PlanetScaleは2026年9月16日、Postgres向け全文検索拡張機能「TIN(Text INdex)」を正式リリースした。Boolean式、フレーズクエリ、BM25スコアリング、ファジー検索などに対応し、全PostgresおよびNekiデータベースで即日利用可能となった。
PlanetScaleのEric Ridge氏とPatrick Reynolds氏が開発した「TIN」は、Postgresの全文検索ニーズに応えるために設計された拡張機能だ。`CREATE INDEX ... USING tin(列名)`という構文一行で導入でき、`==>`演算子でクエリを実行できる。
対応機能は幅広い。Boolean式・フレーズクエリ・スパンクエリ、ファジー・ワイルドカード・正規表現によるマッチング、大文字小文字やアクセント記号の正規化、`COUNT(*)`クエリ、BM25スコアによるトップk件取得——これらすべてをサポートする。既存のPostgres向け全文検索索引は少なくとも3種類存在するが、いずれもこれらの要件を完全には満たしていなかったとチームは説明する。
パフォーマンス検証では、Wikipedia全体・2.3TBのRedditコメント集・797GBの研究論文や法的文書を含む「pile」コーパスなど複数のデータセットで計測を実施。本記事で公開されたベンチマーク結果はStack Exchangeの質問・回答データ(85GB・1億5,000万件)を使用したもので、同時書き込みが発生する環境下でのクエリ性能も評価している。
技術的な高速化の要因としては、48ビット文書識別子の採用、不要処理の省略とベクトル化、MVCC(多版型同時実行制御)への対応、セグメント管理とマージ戦略が挙げられている。連続的なデータ更新・レプリケーション・バックアップ・トランザクション可視性といったPostgresの基本要件も満たす設計だ。
料金は月額5ドルからのPlanetScaleプランに含まれる形で提供される。