我有以下SQLite查询,在我的本地计算机上运行良好:

SELECT * FROM ftdata WHERE ftdata MATCH 'phrase1:this AND phrase2:that'


这似乎没有在我的Android设备上返回与在桌面上相同的结果集。在Android上返回的结果要少得多。该查询似乎在以下两个方面均返回正确的结果:

SELECT * FROM ftdata WHERE ftdata MATCH 'phrase1:this phrase2:that'


但是,理想情况下,我希望合并AND和OR查询,而不是被迫使用AND。

Android不支持增强查询语法的某些功能吗?我在一开始使用的语法不正确吗?

最佳答案

不同的Android固件使用different SQLite versions,但是FTS语法已经很长时间没有改变。

您的问题是大多数(全部?)Android供应商未启用增强的查询语法。

您应该将自己限制为同时使用两种语法的查询。
或者,执行PRAGMA compile_options以检查是否设置了ENABLE_FTS3_PARENTHESIS

08-17 11:11
查看更多