使用Android中sqlite表的全文检索
在Android中,使用的是sqlite,而如果需要在其中做全文检索的话,也是可以的。因为sqlite中支持fts表(full-textsearch的简称),详细的可以参考:
http://www.sqlite.org/fts3.html#section_1,这里介绍了FTS3和FTS4的区别,
这里的FTS3其实是sqlite的一个扩展模块,是虚拟表模块,允许用户去实现全文检索。下面是一个简单的例子:
CREATE VIRTUAL TABLE enrondata1 USING fts3(content TEXT);
可以看到,使用上面的语法即创建了一个fts3的表了,而检索时,根据手册上说的:
SELECTcount(*)FROMenrondata1WHEREcontentMATCH'linux';/*0.03seconds*/
SELECTcount(*)FROMenrondata2WHEREcontentLIKE'%linux%';/*22.5seconds*/
看到没?这里是使用match了,而不是传统的like,而且效率很高了。
还支持如下的语法:
SELECT*FROMwords_ftsWHEREwords_ftsMATCH'description:company';
即列名:该列要搜索的关键词
还可以这样:
SELECT*FROMwords_ftsWHEREwords_ftsMATCH'description:comp*'
即支持通配符了
相关推荐
sofia 2020-09-03
明瞳 2020-08-19
zhushenghan 2020-08-16
wenwentana 2020-07-05
编码之路 2020-02-20
Lius 2020-02-14
lionelf 2020-02-03
TyCoding 2020-02-01
PinkBean 2020-01-29
编码之路 2020-01-01
PasserbyX 2020-01-01
qiuzhuoxian 2019-12-31
xiaoxiaoabc 2017-08-04
TMD咯MySQL 2019-11-02
xx0cw 2019-10-21
create00 2012-01-03
Hashxu 2018-09-17