2013-08-27 4 views
7

私はほとんど200kエントリのテーブルを持っています。 LIKEで検索しようとしたとき、とても遅かったです。今ではFTSを使うことに決めました。だから私は検索が開催される2つのインデックスを作成しました。その後、私はfts仮想テーブルを作成しました。SQLiteでFTS3を使用する方法

新しく作成されたFTSテーブルの使い方はわかりません。だから私の質問は、仮想テーブルを使って検索する方法です。あなたは例を挙げることができますか?

答えて

7

これは、the documentationで説明されています。

FTS検索に2つのインデックスは必要ありません。

id列をINTEGER PRIMARY KEYと宣言する必要があります。 おそらくFSTテーブルにentry_id列は必要ありません。

コピーFTSテーブルにテキスト:

INSERT INTO search_eng_fts(id, re_value, ke_value, g_value) 
SELECT id, re_value, ke_value, g_value FROM search_eng; 

次にあなたがそのテーブルで検索するMATCH演算子を使用することができます。

SELECT id FROM search_eng_fts WHERE re_value MATCH 'hello'; 
関連する問題