2012-09-19 137 views
5

我有一個Android應用程序,它使用FTS4虛擬表在SQLite數據庫中搜索數據。它工作正常,但當表格中的數據包含特殊字符(如'á','é','í','ó','ú'或'ñ')時,SQLite MATCH函數不會給出結果。我迷失在這一點上。謝謝。SQLite FTS4用特殊字符搜索

+0

什麼[標記生成器(http://www.sqlite.org/fts3.html# tokenizer)你使用? –

+0

那麼,我沒有使用任何標記器,我不知道它是如何工作的。我的搜索如下: SELECT * FROM table1_fts4 WHERE table1_fts4 MATCH'query'; – user1387981

回答

0

注意:默認標記器真的很差。 爲了獲得好的結果,你應該實現一個自定義標記器。 的路徑不是那麼簡單:

  • 找到標記生成器應符合您的需求,或者 發展它
  • 與sqlite.c來源膠水它
  • 膠水JNI接口(與詞幹?)包本機庫,所以這將是 從Dalvik虛擬機
  • 訪問
  • 使用NDK從頭編譯sqlite.c和Android的
準備動態 庫

在這裏在stackoverflow你應該找到一些很好的職位,開始學習如何做到這一點。

看看這些項目得到一些很好的起點:

  • sqlite4java
  • sqlcipher