使用javascript和html5存储搜索大量文本

searching a large amount of text using javascript and html5 storage

本文关键字:文本 搜索 存储 javascript html5 使用      更新时间:2023-09-26

我有一个web应用程序,它依赖于html5离线存储功能,因此它可以由用户访问没有互联网连接。这个应用程序基本上只提供html页面和一点点css和javascript。

我试图添加搜索这些页面上提供的关键字文本的能力,但由于应用程序不能保证访问服务器,它需要能够在客户端执行这些搜索。

我的想法是我可以在浏览器的web sql数据库中存储可搜索的文本,并通过javascript或通过浏览器的sql api执行搜索。我有几个关于最好的方法的问题:

1)我隐约记得一篇关于如何实现这样的东西的文章,可能来自airbnb?有人记得这样一篇文章吗?

2)文本是2,000,000+单词,所以我假设indexOf将在这个数据大小下崩溃。regex有可能撑得住吗?实现实际搜索的一些选项是什么?(库,算法等)有什么文章建议理解字符串搜索算法的权衡,如果我需要沿着这条路走下去?

好吧,我刚刚为您编写了一个快速基准测试,并惊讶地发现您可能可以使用String.indexOf()。每次搜索大约35毫秒,也就是每秒30次搜索。

编辑:一个更好的基准。似乎有一些初始化延迟,但看起来indexOf是相当快的。您可以使用基准测试,看看它是否适合您。