验证sqlite FTS(全文搜索)语法,以及如何进行单个术语NOT搜索

时间:2010-01-28 17:04:57

标签: sqlite fts3 full-text-search

有没有办法确定发送到sqlite中的fts3表的MATCH查询是否有效?目前,我没有发现表达式是否无效,直到我尝试运行它,这使它有点棘手。我想在尝试运行它之前向用户报告语法无效。

我正在使用带有C api的sqlite。

此外,使用表达式“NOT”进行搜索将失败并显示“SQLlite逻辑/数据库错误”。谷歌搜索似乎表明这样的查询无效。是否有正确的语法来执行此操作?我基本上试图找到不包含该术语的条目。或者我是否必须退回使用LIKE并进行顺序扫描而不使用FTS?

1 个答案:

答案 0 :(得分:1)

现在看来最简单的方法是创建一个没有行的单独FTS表,并对其执行查询。它会立即显示,因为表中没有数据,如果查询语法不正确,它将报告并报错。