列内の特定の文字列を検索する方法はありますか?
SELECT * from email_fts WHERE email_fts MATCH 'to:"a@b.com" OR from:"c@d.com"' のように検索したい
前もって感謝します、
マノジ
FTS インデックスに適切な FTS 列を作成していることを確認してください。
CREATE VIRTUAL TABLE email_fts USING fts3(subject, body, "to", "from");
次に、個々の FTS 列を検索できます。
SELECT rowid
FROM email_fts
WHERE "to" MATCH 'a@b.com'
UNION
SELECT rowid
FROM email_fts
WHERE "from" MATCH 'c@d.com'
編集:私の以前の回答にはOR
、WHERE
句が含まれていました。OR
どうやら sqlite はクエリとMATCH
条件の組み合わせをサポートしていないようです。上記のユニオンが機能します。
FTS ドキュメントはこちらです。これはドキュメントで使用されている例の 1 つです。