20130213更正:
下面的'"明 日 *"'应改为'明 日 *'(把双层引号改为单层引号),将获得更多匹配结果。
20130321:
还可以在where条件中加入like或glob(同时使用match和like)以减少结果数量(或者加入其它条件)
Android自带的sqlite3通过fts3(是fulltext search engine 3的缩写?)模块支持全文搜索。但官方文档说只支持三种符号化,而且只支持完全和前缀匹配(也就是说,分割的符号只能完全或前方匹配搜索字符串),默认是不支持后缀和中缀搜索。如果要解决这个问题,需要做一些特殊处理。我看到网上的讨论,大概有以下方法:
(1)创建一个反转字符串的列,就可以实现后缀匹配
(2)使用类似MeCab的分词库,把目标串符号化。
不过我觉得这两种方法都是有一定的限制。方法二虽然比较好,但我觉得还是有点复杂。
我觉得符号化(分词)不一定要很精确,比如”我是中国人“只要符号化为”我 是 中 国 人 “就可以了。
所以我在创建符号化列时使用这样的逻辑(用Java处理):
private static String tokenize(String str) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) { sb.append(str.charAt(i)); sb.append(' '); } return sb.toString(); }
假设创建的符号化列为word_tokenize,搜索字符串为”明日“,那么查询语句是(注意搜索的非英文字符串”明日“也要被符号化)
select word, meaning, dict_id from words where word_tokenize match '"明 日 *"' order by rowid;
不过这样做的坏处是很明显的,因为英文单词会被分割成可以任意连结,而且搜索速度会减慢。
或者这样符号化会好些——
private static String tokenize(String str) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); sb.append(c); if (c > 256) { sb.append(' '); } } return sb.toString(); }
相关推荐
- 象BASIC关键字一样完全支持Win32 API - 汇编程序内嵌 - 为快速编译使用固定文件预编译结构 - 结构化 CLI编译器 - 高效率,包括大量关键词,联机帮助 - 支持XML,正则表达式,ftp ,http,....... - 友好的系统,简单而...
可视化数据库模型,以便您可以看到诸如属性,关系,索引,唯一性,注释和其他对象之类的元素如何相互关联,而无需显示实际数据。Navicat Data Modeler支持不同的数据库:直接连接,ODBC,MySQL,MariaDB,Oracle,...
可视化数据库模型,以便您可以看到诸如属性,关系,索引,唯一性,注释和其他对象之类的元素如何相互关联,而无需显示实际数据。Navicat Data Modeler支持不同的数据库:直接连接,ODBC,MySQL,MariaDB,Oracle,...
它允许数据库驱动的操作用于功能测试,测试数据与已测试的应用程序隔离用于非测试目的,例如自动化管理或数据挖掘。 提高Selenium的生产率。 SeLite启用通过跨脚本共享功能实现高重用增强表达语法测试数据库(与...
2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为...
重新创建并初始化()”方法。 8. 修改应用接口支持库,增强“取快捷方式目标”命令功能,可以获取目标、参数、启始位置、图标、运行方式、快捷键、备注等信息。 9. 修改扩展界面支持库三,解决高级选择夹会导致所在...
安装安装python3,flask,Pillow,sqlite3和ghostscript 运行'git submodule init && git submodule update'来获取所需的库文件(MathJax和已标记) ./clear.sh将初始化sqlite数据库,pdf的存储和日志目录将...
符号Lua-变量,函数,函数回调,表,表达式 C算法和容器 单元数据结构和算法 uSockets网络和事件 cJSON和protobuf-c sqlite3 基本结构 细胞阵列 细胞阵列结构和算法 清单和过程 蜂窝列表处理 树与逻辑 蜂窝搜索和...
omen2将采用一组类和一个数据库,并将它们与迁移支持链接在一起。 omen2允许用户: 将创建的对象序列化到数据库 查询数据库并返回对象,而不是行 查询相关对象 跨多个线程访问/锁定/更新符号对象 回滚异常的更改 ...
提交在每次加载页面时都会随机化,但是您也可以使用表情符号按钮来随机化提交消息! :face_with_tears_of_joy: =有趣的提交 :pile_of_poo: =与便便相关的提交 :smiling_face_with_halo: =寻求帮助的承诺 :face...
逍遥带符号液晶 新编码转换大全 新注册系统热键1.0 信息提示框控件(Tip) 星光灭绝1.0 形象大使1.0 修改菜单1.0版 寻找磁盘文件 寻找注册表 循环冗余校验 Y 压缩加密文件夹 压缩文件夹 液晶控件模块 液晶模块...
Sqlite 数据库加强.ec Sqlite表管理.ec SQL到文本.ec SQL基本语句.ec sql操作模块.ec SQL 数据库操作模块.ec SQL数据库最新操作模块.ec Star.ec StarlightExtinction.ec status.ec status2.ec Super-EC.ec ...
Sqlite 数据库加强.ec Sqlite表管理.ec SQL到文本.ec SQL基本语句.ec sql操作模块.ec SQL 数据库操作模块.ec SQL数据库最新操作模块.ec Star.ec StarlightExtinction.ec status.ec status2.ec Super-EC.ec ...
Sqlite数据库加强.ec Sqlite表管理.ec SQL到文本.ec SQL基本语句.ec sql操作模块.ec SQL数据库操作模块.ec SQL数据库最新操作模块.ec Star.ec StarlightExtinction.ec status.ec status2.ec Super-EC.ec...
和是几与谁最大(1.0).zip 回调函数1.0(1.0).zip 好用的东西(1.0).zip 好色按钮(1.0).zip 好色按钮 2.0(2.0).zip 彗星模块(1.3).zip 汉字查询3.1版(1.0).zip 汉字助记码(1.0).zip 汉字处理模块(1.0).zip ...
逍遥带符号液晶.ec 新编码转换大全.ec 信息提示框控件(Tip).ec 星光灭绝1.0.ec 行数.ec 形象大使1.0.ec 修改菜单1.0版.ec 寻找磁盘文件.ec 寻找注册表.ec 循环冗余校验.EC 压缩加密文件夹.ec 压缩文件夹....
逍遥带符号液晶.ec 新编码转换大全.ec 信息提示框控件(Tip).ec 星光灭绝1.0.ec 行数.ec 形象大使1.0.ec 修改菜单1.0版.ec 寻找磁盘文件.ec 寻找注册表.ec 循环冗余校验.EC 压缩加密文件夹.ec 压缩文件夹....