我一直在使用sqlite的FTS擴展,似乎無法弄清楚如何做一個短語搜索一列,而匹配其他一些其他文本。通常做一個短語搜索適用於像所有列:FTS sqlite短語搜索單列不可能
SELECT * from ftstable where ftstable MATCH '"Phrase With Spaces In It"';
,以及用於與特定列:
SELECT * from ftstable where body MATCH '"Phrase With Spaces In It"';
,但不會對彙總的搜索在兩列樣工作:
,而是拋出:
Error: malformed MATCH expression: [body:"Phrase With Spaces In It" title:"The*"]
我發現這個帖子聲稱這是不可能的(2011年11月):http://osdir.com/ml/sqlite-users/2011-11/msg00363.html。有誰知道現在這是否可能?
我只能想象一個使用'INTERSECT'的解決方法,但問題是然後產生的兩個相交的集合太大,查詢會慢得多,而且內存效率低下,尤其是因爲我將它部署在移動設備上。
謝謝。
也許應該有或者而不是和... – 2012-08-29 07:45:57
不,並且是正確的,他說他想爲兩者找到匹配。 – 2012-08-30 14:10:54