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

问题描述 投票:0回答:1

我正在开发一个(Cordova iOS / Android)移动应用程序,其中<100MB的缓慢变化,只读(对用户)数据需要可搜索(全文和方面)。来自网络背景,我们通常提供来自Web API和数据库的数据。但是,我们希望该应用程序可在离线模式下使用。鉴于数据库可以很好地适应设备,我们不需要对大多数数据集进行实时更新,我想研究一下如何在设备上预先定位内容。我们是订阅服务,所以这些数据是付费墙背后的(我认为这限制了我们使用Core Spotlight / Firebase应用程序索引的选项)。

鉴于我们提出的任何内容必须是跨平台的,我专注于Sqlite(可能是与应用程序捆绑在一起的自定义构建版本)。它具有全文搜索功能,我们可以根据相关的facet数据进行过滤。

这是我正在调查的方法:

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

是否有现有服务或库已经执行此操作?

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

提供同步和离线(AppSync,Firebase)的大多数其他服务似乎对我们的需求来说太过分了,而且更多的是专注于多作者,实时后端。

sqlite cordova mobile fossil
1个回答
1
投票

我最近不得不研究这个问题,我提出的两个选项是

  1. Couchbase Lite 广告 NoSQL的 本地全文搜索 内置冲突解决方案并与Couchbase同步
  2. SQLite的 免费和开源 SQL 本地全文搜索(默认情况下只能获得fts4,但正如您所说,您可以使用fts5编译和捆绑版本) 冲突解决和同步取决于您

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

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

© www.soinside.com 2019 - 2024. All rights reserved.