2013-05-27 89 views
2

我使用FTS在SQLite的,我有數據:匹配的SQLite FTS

ABC
高清


JDK
sqlite的
放手


不去

我用查詢:select * from table where columns MATCH 'go*'。結果:



放手


不會

但我想導致go to, go on,如何查詢?

回答

2

由於documentation解釋,go*是一個前綴搜索,並找到任何以go開頭的單詞。

你想要搜索兩個單詞,所以理論上你必須做一個短語搜索。 但是,"go *"不起作用,因爲前綴搜索需要實際的前綴。

最好的辦法是搜索單詞go,並在您的代碼中過濾掉任何返回的記錄,其中go僅在最後出現。

+0

Okie , 謝謝。 –

1

還有一點可以幫助的是使用'^ go',它只會給你從頭開始的entrys(由sqlite版本3.7支持。9)

0

這會給結果: 去,去

select * from table where columns MATCH '^go*' 

這會給結果: 去,去,去

1
select * from table where columns MATCH 'go*' 

全部匹配短語包含任意單個單詞開始

荷蘭國際集團以

在這裏,我們

...

select * from table where columns MATCH 'go' 

匹配所有短語包含任何一字一句等於

在這裏,我們

...

select * from table where columns MATCH '"^go"' 

匹配所有短語開始一個字等於

...

有人ansewers '^走',但它不工作,神奇的是' 「^去」'