首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQLite的全文搜索与符号化有关问题

2012-06-26 
SQLite的全文搜索与符号化问题Android自带的sqlite3通过fts3(是fulltext search engine 3的缩写?)模块支持

SQLite的全文搜索与符号化问题

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++) {char c = str.charAt(i);sb.append(c);if (c > 256) {sb.append(' ');}}return sb.toString();}
?

?

?

?

?

?

热点排行