有没有办法在列中搜索特定字符串?
我想搜索 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
子句中有一个。显然 sqlite 不支持将OR
查询与MATCH
条件组合。上述工会有效。
FTS 文档在这里,这是文档中使用的示例之一。