SQLite fts3:在列中搜索字符串

时间:2010-04-12 10:31:41

标签: sqlite fts3

有没有办法在列中搜索特定的字符串?

我想搜索SELECT *从email_fts WHERE email_fts MATCH'到:“a@b.com”或者来自:“c@d.com”'

提前致谢,

的Manoj

1 个答案:

答案 0 :(得分:6)

确保在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文档在这里,这是文档中使用的示例之一。

http://sqlite.org/fts3.html