我正在尝试订购快速文本搜索,以便完全匹配是第一个,部分匹配是最后一个。
我创建了一个在 SQLiteStudio 中工作的查询:
SELECT value, 1 AS _order FROM glossfts
WHERE glossfts.value MATCH 'dog'
UNION
SELECT value, 2 AS _order FROM glossfts
WHERE glossfts.value MATCH 'dog* NOT dog'
ORDER BY _order
所以结果是
Beware of dog 1
Disliked by everybody, not even a dog will eat 1
Bad dog 1
Creed, dogma 2
Dogs 2
Dogwood 2
这很好用,但是当我在 android 中使用相同的查询时,我只会得到
Beware of dog 1
Disliked by everybody, not even a dog will eat 1
Bad dog 1
Disliked by everybody, not even a dog will eat 2
回来,因为它似乎在解释:
MATCH 'dog* NOT dog'
作为
MATCH 'dog* not dog'
这是怎么回事?