FTS を既存のデータベースに追加する必要があります。
FTS インデックスがデフォルト (メイン) DB に存在する外部コンテンツ FTS テーブルのテストを開始しました。いくつかのこと (インデックスの再構築など) にかなりの時間がかかる可能性があることを除いて、すべてが満足に機能しました。
次に、接続された DB に FTS インデックスを配置する可能性について読みました。これはいくつかの利点を約束するように思われたので、試してみることにしました。しかし、私の試みはすべて失敗しました。以下にいくつかの例を示します。
状況
テキスト列「コード」を持つテーブル「アカウント」があり、
その列の FTS インデックスを作成し、別のデータベース ファイルに配置したい
Test1) ERROR: near ".": 構文エラー
ATTACH 'ZipFts.sdf' AS ZipFts; CREATE VIRTUAL TABLE ZipFts.account USING fts4(content=account, code);
INSERT INTO ZipFts.account(ZipFts.account) VALUES('rebuild');
テスト 2) エラー: スタック オーバーフロー (sqlite エンジン内の無限再帰)
ATTACH 'ZipFts.sdf' AS ZipFts; CREATE VIRTUAL TABLE ZipFts.account USING fts4(content=account, code);
INSERT INTO ZipFts.account(account) VALUES('rebuild');
Test3) エラー: そのようなテーブルはありません: ZipFts.account
ATTACH 'ZipFts.sdf' AS ZipFts; CREATE VIRTUAL TABLE ZipFts.ZipFts_account USING fts4(content="account", code);
INSERT INTO ZipFts_account(ZipFts_account) VALUES('rebuild');
Test4) エラー: そのようなテーブルはありません: ZipFts.main.account
ATTACH 'ZipFts.sdf' AS ZipFts; CREATE VIRTUAL TABLE ZipFts.ZipFts_account USING fts4(content="main.account", code);
INSERT INTO ZipFts_account(ZipFts_account) VALUES('rebuild');
これらがどのように機能するか知っている人はいますか?前もって感謝します。