PostgreSQLのFTS:簡単な最適化で50倍高速化

Neonによる最近のベンチマークで、PostgreSQLの組み込み全文検索(FTS)がpg_searchに遅れをとることが示されました。しかし、この記事では、Neonのベンチマークが最適化されていない標準的なFTS設定を使用していたことを明らかにしています。`tsvector`カラムを事前に計算して保存し、`fastupdate=off`でGINインデックスを設定することで、劇的なパフォーマンス向上を実現できます。1000万行のデータセットでの実験では、約50倍の速度向上を示し、適切に最適化された標準FTSが専用の検索エンジンに匹敵することを証明しています。この記事では、ランキングタスクに優れた性能を発揮するBM25ベースの拡張機能であるVectorChord-BM25についても考察しています。
続きを読む