Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用特殊字符的SQLite FTS4搜索_Android_Sqlite_Full Text Search_Special Characters_Fts4 - Fatal编程技术网

Android 使用特殊字符的SQLite FTS4搜索

Android 使用特殊字符的SQLite FTS4搜索,android,sqlite,full-text-search,special-characters,fts4,Android,Sqlite,Full Text Search,Special Characters,Fts4,我有一个Android应用程序,它在带有FTS4虚拟表的SQLite数据库中搜索数据。它可以正常工作,但是当表中的数据包含特殊字符(如“á”、“é”、“í”、“ó”、“ú”或“ñ”)时,SQLite MATCH函数不会给出任何结果。我在这一点上迷路了。谢谢。注意:默认标记器非常差。 为了获得好的结果,您应该实现一个自定义标记器。 路径并不是那么简单: 找到符合您需要的标记器(带词干分析器?),或者 发展它 用sqlite.c源代码将其粘合起来 粘合一个JNI接口来包装本机库,以便 可从dalv

我有一个Android应用程序,它在带有FTS4虚拟表的SQLite数据库中搜索数据。它可以正常工作,但是当表中的数据包含特殊字符(如“á”、“é”、“í”、“ó”、“ú”或“ñ”)时,SQLite MATCH函数不会给出任何结果。我在这一点上迷路了。谢谢。

注意:默认标记器非常差。 为了获得好的结果,您应该实现一个自定义标记器。 路径并不是那么简单:

  • 找到符合您需要的标记器(带词干分析器?),或者 发展它
  • 用sqlite.c源代码将其粘合起来
  • 粘合一个JNI接口来包装本机库,以便 可从dalvik虚拟机访问
  • 使用NDK从头开始编译sqlite.c并准备一个动态 Android库
在stackoverflow中,你应该找到一些好的帖子来开始学习如何做到这一点

查看这些项目以获得一些良好的起点:

  • sqlite4java
  • sqlcipher

您在使用什么?我没有使用任何标记器,我不知道它是如何工作的。我的搜索如下:从表1_fts4中选择*表1_fts4匹配“查询”;