具有本地存储、可同步、可搜索的只读内容的移动应用程序。石榴石?

Posted

技术标签:

【中文标题】具有本地存储、可同步、可搜索的只读内容的移动应用程序。石榴石?【英文标题】:Mobile app with locally stored, synchable, searchable read-only content. Sqlite? 【发布时间】:2019-02-23 19:15:03 【问题描述】:

我正在开发一个 (Cordova ios/android) 移动应用程序,其中包含价值

鉴于我们想出的任何东西都必须是跨平台的,所以我专注于 Sqlite(可能是与应用程序捆绑在一起的定制构建)。它具有全文搜索,我们可以按相关方面数据进行过滤。

这是我正在研究的方法:

    从上游数据重建内容集的每日/每小时作业。 在 FTS 表中重新索引新数据。 将 sqlite 数据库保存在 Web 可访问的存储桶中。 通知应用有新的内容集。 他们下载更改(或完整的数据库)。

是否有现有的服务或图书馆已经这样做了?

Fossil 似乎做了很多这样的事情,但它并没有被广泛使用。我找不到它被用作移动应用程序上的内容存储库的案例。此外,我们不需要从设备上推送更改,所以我不知道我们是否会为不需要的功能承担大量开销。

提供同步和离线的大多数其他服务(AppSync、Firebase)似乎也无法满足我们的需求,并且更专注于成为多写入器的实时后端。

【问题讨论】:

是的,SQLlite 是正确的选择。 【参考方案1】:

我最近不得不研究同样的问题,我想出的两个选择是

    Couchbase Lite 商业 NoSQL 本地全文搜索 内置冲突解决方案并与 Couchbase 同步 SQLite 免费和开源 SQL 本地全文搜索(默认情况下您只能获得fts4,但正如您所说,您可以编译和捆绑带有fts5 的版本) 冲突解决和同步由您决定

我选择了选项 2 (SQLite),因为我没有复杂的同步要求,这是一个爱好项目,数据移动速度很慢。从我对 Couchbase 的评估来看,我绝对推荐考虑它。

Firebase 和 AppSync 都不提供离线全文搜索。

【讨论】:

有一个Community Edition (CE) 版本的 Couchbase Lite 可以免费使用,它是open source。

以上是关于具有本地存储、可同步、可搜索的只读内容的移动应用程序。石榴石?的主要内容,如果未能解决你的问题,请参考以下文章

计算机的存储器有几类,分别有啥作用

解析本地数据存储 + 网络同步

Cordova / Javascript 将图像从 URL 复制到本地存储中

python GAE搜索增强型NDB模型:使可搜索的索引与数据存储模型中的最新信息保持同步。

Linux课程笔记 Rsync数据同步服务

可移动的 div 但只有 div 标题才能移动所有 div 内容