歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 使用Android中SQLite表的全文檢索

使用Android中SQLite表的全文檢索

日期:2017/3/1 10:41:12   编辑:Linux編程

在Android中,使用的是sqlite,而如果需要在其中做全文檢索的話,也是可以的。因為sqlite中支持fts表(full-text search的簡稱),詳細的可以參考:http://www.sqlite.org/fts3.html#section_1 ,這裡介紹了FTS3和FTS4的區別,這裡的FTS3其實是sqlite的一個擴展模塊,是虛擬表模塊,允許用戶去實現全文檢索。下面是一個簡單的例子:

CREATE VIRTUAL TABLE enrondata1 USING fts3(content TEXT);

可以看到,使用上面的語法即創建了一個fts3的表了,而檢索時,根據手冊上說的:

SELECT count(*) FROM enrondata1 WHERE content MATCH 'linux'; /* 0.03 seconds */

SELECT count(*) FROM enrondata2 WHERE content LIKE '%linux%'; /* 22.5 seconds */

看到沒?這裡是使用match了,而不是傳統的like,而且效率很高了。

還支持如下的語法:

SELECT * FROM words_fts WHERE words_fts MATCH 'description: company';

即列名:該列要搜索的關鍵詞

還可以這樣:

SELECT * FROM words_fts WHERE words_fts MATCH 'description: comp*'

即支持通配符了。

Copyright © Linux教程網 All Rights Reserved