FTS3(SQLite)

SQLiteの全文検索機能を提供する仮想テーブルモジュール。CREATE VIRTUAL TABLE ... USING fts3(...)のように仮想テーブルとして定義し、通常のテーブルと同様にSQLで検索できる。SQLiteのソース配布に標準で含まれる全文検索モジュール群(FTS3/FTS4/FTS5)のうち最初に導入されたバージョン。

#sqlite #database #full-text-search

仕組み

トークナイザ(tokenizer)が文章を単語などのトークンに分割し、それをもとにインデックスを構築する。CREATE VIRTUAL TABLE文の中でトークナイザを指定できる。

制限事項

単語単位の前方一致・完全一致検索にしか対応していない。標準のトークナイザは空白区切りを前提としているため、単語の区切りが明示されない日本語のような言語ではそのままでは実用的な検索ができない(トークナイザの工夫で改善は可能)。

FTS4・FTS5との違い

FTS3の後継としてFTS4(データ圧縮オプションやcontentlessテーブルなどの改善)、さらにFTS5(モジュール設計の刷新、FTS3/4とはSQL構文がやや異なる、ORDER BYでのrelevancy(関連度)スコアリングに対応)が追加されている。FTSモジュールは性能改善が継続的に行われているため、新しいバージョンを使う場合はFTS5が推奨される。

出典

作成日時: 2026-08-10 17:26 / 更新日時: 2026-08-10 17:50