繁体   English   中英

如何使用纯JavaScript和HTML5创建客户端全文搜索引擎?

[英]How to create client side full text search engine with pure JavaScript and HTML5?

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

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

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

是否有可用的HTML5大型存储系统(我可以通过PhoneGAP禁用Web安全性)来创建可以复制到其他可移动媒体的脱机HTML应用程序搜索目录?

雷耶斯正在为这个目的做一个全文搜索引擎: https//github.com/reyesr/fullproof

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

希望它能满足您的需求。

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

将整个数据库保存在.json文件中肯定不会有效,但是将数据库拆分为块并将它们保存为按需加载的.json文件可能会正常工作 - 但它需要进行测试。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM