如何在大型文本数据库上进行单词搜索

时间:2014-05-06 15:09:48

标签: android database search text

我的应用中有一个大型数据库。一列由文本字符串组成,这些字符串与段落的句子有关。我想通过用户输入的单词来搜索此列。

我如何快速搜索?我听说过制作索引但我不知道如何进行文本搜索。

1 个答案:

答案 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 */