2012-09-19 134 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