24

我需要为离线存储(如 CDROM)中的离线 html 应用程序创建客户端搜索引擎。我已经用 Win32 创建了它,并且目录文件接近 2GB(MDB 文件)。

我的离线 Web 应用程序使用 CEF(Chromium Embedded Framework)和 PhoneGAP,因此我可以禁用浏览器 Web 安全性。我认为 IndexedDB 可能对我有帮助,但是无论如何我都找不到将存储文件复制到其他媒体的方法。

  1. 我的目录文件将接近 2GB,因此我无法将所有记录读入内存。
  2. 我需要使用 PhoneGAP 使输出媒体跨平台,所以我不能使用 activeX 对象进行最终搜索。我也可以通过该工具禁用网络安全限制。
  3. 我可以使用任何 Windows 应用程序创建目录文件和媒体。关键说明查询目录的输出文件应该是纯 JavaScript。

是否有任何可用的 HTML5 大存储系统(我可以通过 PhoneGAP 禁用网络安全)来创建可以复制到其他可移动媒体的离线 HTML 应用程序搜索目录?

4

3 回答 3

8

Reyes 正在为此目的做一个全文搜索引擎:https ://github.com/reyesr/fullproof

在去年 9 月的 Paris JS 期间,他做了一个背后概念的介绍:http: //kornr.net/prez/paris.js22/#/

希望它能满足您的需求。

于 2012-11-09T13:24:26.463 回答
6

我认为同时必须考虑lunr.js。它在 Github 上的星星是它的 3 倍。

于 2014-01-14T10:17:12.887 回答
1

将整个数据库保存在 .json 文件中肯定效率不高,但是将数据库拆分为块并将它们保存为按需加载的 .json 文件可能工作得很好——尽管它需要测试。

和 - MongoDB 将数据库存储在BSON中。您还可以考虑以这种文件格式存储您的数据库并从您的应用程序中加载它(我建议将整个数据库拆分为更小的部分)。

// 编辑 - 如果您要将数据库作为文件提供,那么我认为不可能设置任何类型的权限。您可以尝试加密/混淆文件,但我不知道这将如何影响性能或数据库的内容。

是的,可以有一个独立的 html+js 应用程序来读取 BSON 数据库,而无需任何类型的服务器。如果您想了解更多信息,请查看此链接。我以前听说过这个,但是我完全没有在纯 JS 中处理 BSON 文件的经验,所以我无法帮助你。我所能做的就是让你知道这样的事情存在:)

于 2012-08-23T07:17:57.017 回答