我使用FTS在SQLite的,我有數據:匹配的SQLite FTS
ABC
高清
去
去
JDK
sqlite的
放手
去
去
不去
我用查詢:select * from table where columns MATCH 'go*'
。結果:
去
去
放手
去
要
不會
但我想導致go to, go on
,如何查詢?
我使用FTS在SQLite的,我有數據:匹配的SQLite FTS
ABC
高清
去
去
JDK
sqlite的
放手
去
去
不去
我用查詢:select * from table where columns MATCH 'go*'
。結果:
去
去
放手
去
要
不會
但我想導致go to, go on
,如何查詢?
由於documentation解釋,go*
是一個前綴搜索,並找到任何以go
開頭的單詞。
你想要搜索兩個單詞,所以理論上你必須做一個短語搜索。 但是,"go *"
不起作用,因爲前綴搜索需要實際的前綴。
最好的辦法是搜索單詞go
,並在您的代碼中過濾掉任何返回的記錄,其中go
僅在最後出現。
還有一點可以幫助的是使用'^ go',它只會給你從頭開始的entrys(由sqlite版本3.7支持。9)
這會給結果: 去,去
select * from table where columns MATCH '^go*'
這會給結果: 去,去,去
select * from table where columns MATCH 'go*'
全部匹配短語即包含任意單個單詞這開始去
去到
去荷蘭國際集團以
在這裏,我們去
...
select * from table where columns MATCH 'go'
匹配所有短語是包含任何一字一句這等於去
去到
在這裏,我們去
...
select * from table where columns MATCH '"^go"'
匹配所有短語是與開始一個字這等於去
去
去在
...
有人ansewers '^走',但它不工作,神奇的是' 「^去」'
Okie , 謝謝。 –