0

我有一个建议表(FTS4),用于为 Android 操作栏搜索中的查询提供建议。我需要在表中查询其中一个 column( suggest_text_1) 与查询文本匹配且另一 column( data_type) 与特定查询不匹配的建议,例如2

我当前的选择文本是table_suggestions MATCH ?,我正在尝试使用以下选择参数文本替换'?'- suggest_text_1:*S1* AND data_type:NOT 2

问题是,即使数据在那里,表格也为我提供了任何建议。可以指出我执行此查询的正确方法吗?

4

1 回答 1

1

Android 中的 SQLite 库通常不使用增强的查询语法进行编译,因此您必须使用标准查询语法,例如suggest_text_1:S1* data_type:-2. 在 SQL 中,这将是:

SELECT docid,
       suggest_text_1
FROM MyTable
WHERE MyTable MATCH 'suggest_text_1:' || ? || '* data_type:-' || ?

FTS 仅支持前缀查询;你不能*在单词的开头使用。

于 2014-02-17T08:05:55.033 回答