解决方法
确保在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'
编辑:我之前的回答在WHERE子句中有一个OR.显然sqlite不支持将OR查询与MATCH条件相结合.上述工会有效.
FTS文档在这里,这是文档中使用的示例之一.