我的应用中有一个大型数据库。一列由文本字符串组成,这些字符串与段落的句子有关。我想通过用户输入的单词来搜索此列。
我如何快速搜索?我听说过制作索引但我不知道如何进行文本搜索。
答案 0 :(得分:2)
SQLite有一种机制可以在数据库中存储大量文本,它被称为FTS(全文搜索的缩写)。 Android支持所有SQLite命令,因此您可以轻松使用FTS3。
如何在上面链接的文档中解释。
创建表的示例:
CREATE VIRTUAL TABLE enrondata1 USING fts3(content TEXT); /* FTS3 table */
CREATE TABLE enrondata2(content TEXT); /* Ordinary table */
查询:
SELECT count(*) FROM enrondata1 WHERE content MATCH 'linux'; /* 0.03 seconds */
SELECT count(*) FROM enrondata2 WHERE content LIKE '%linux%'; /* 22.5 seconds */