2

为什么当我使用全文搜索语法编写查询时,例如:

SELECT * FROM TABLENAME WHERE TABLENAME MATCH 'ColumnA:word1 OR ColumnB:word2'

查询结果总是返回0行?

我正在使用 VBnet 和来自sqlite.org的最新 Ado.net 提供程序

问题是当我尝试使用外部工具进行查询时,它运行良好(使用 sqlite 3.7.9)。

有什么线索吗?提前致谢

4

1 回答 1

3

尽管 System.Data.Sqlite 是使用 FTS 编译SQLITE_ENABLE_FTS3并支持 FTS,但它并未使用SQLITE_ENABLE_FTS3_PARENTHESIS启用Enhanced Query Syntax进行编译。而且您在查询中使用了增强型查询语法,因此它没有按您的预期工作。

您需要修改您的查询,或者使用已定义的 System.Data.Sqlite 进行自定义构建(遵循构建过程SQLITE_ENABLE_FTS3_PARENTHESIS) 。

于 2012-04-03T08:35:36.157 回答