我有以下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不支持增强查询语法的某些功能吗?我在第一个实例中使用了错误的语法吗?
答案 0 :(得分:1)
不同的Android固件使用different SQLite versions,但FTS语法长时间没有变化。
您的问题是大多数(所有?)Android供应商都没有启用增强的查询语法。
您应该将自己局限于使用这两种语法的查询。
或者,执行PRAGMA compile_options以检查是否设置了ENABLE_FTS3_PARENTHESIS
。