PhoneGap、SQLite 和全文搜索

Posted

技术标签:

【中文标题】PhoneGap、SQLite 和全文搜索【英文标题】:PhoneGap, SQLite and full-text search 【发布时间】:2013-02-26 20:19:18 【问题描述】:

我们正在尝试确定一个具有相对复杂的搜索功能的项目。例如,它需要搜索单词的变体——“合法”和“合法”处理相同。

我相信 SQLite 全文扩展(FTS3、FTS4)可以满​​足我们的所有需求,但我不知道这是否是一种选择。有没有人在 PhoneGap 应用程序中成功使用 SQLite 和 FTS3 或 FTS4?

如果没有,有没有人知道任何可以在 PhoneGap 中使用的强大替代方案?

【问题讨论】:

【参考方案1】:

ios 中的默认 sqlite 构建不支持 FTS。您已经编译了支持 FTS3/FTS4 的自己的版本,并将其包含在您的项目中。然后,在 PhoneGap 中,使用 SQLite plugin,你就有了一个带有 FTS 的 SQLite 数据库。

【讨论】:

我明白了。这是有道理的(或者在没有在 PhoneGap 中编译 SQLite 的自定义版本的经验的情况下尽可能地有意义)。几个问题:1)你真的做过这个(使用 FTS),还是这是理论上的? 2) 我还能使用在线PhoneGap Build 服务吗(我猜不是)。 1) 是的,我做到了。它实际上比最初想象的要简单。您必须在项目中包含 SQLite 合并。一个好的起点是here。然后你必须启用构建设置,预处理器设置 SQLITE_ENABLE_FTS3。 2) 不,您将无法使用 PhoneGap Build 服务。

以上是关于PhoneGap、SQLite 和全文搜索的主要内容,如果未能解决你的问题,请参考以下文章

SQlite 全文搜索(FTS)?

Peewee 可以使用 SQLite 的 FTS5(全文搜索)辅助函数 highlight() 吗?

在 SQLite 中为全文搜索索引创建 SQL 触发器

SQLite FTS3 - 对多个表进行全文搜索

Android中的全文搜索示例

iOS 中的全文子字符串搜索