使用javascript和html5存储搜索大量文本
searching a large amount of text using javascript and html5 storage
我有一个web应用程序,它依赖于html5离线存储功能,因此它可以由用户访问没有互联网连接。这个应用程序基本上只提供html页面和一点点css和javascript。
我试图添加搜索这些页面上提供的关键字文本的能力,但由于应用程序不能保证访问服务器,它需要能够在客户端执行这些搜索。
我的想法是我可以在浏览器的web sql数据库中存储可搜索的文本,并通过javascript或通过浏览器的sql api执行搜索。我有几个关于最好的方法的问题:
1)我隐约记得一篇关于如何实现这样的东西的文章,可能来自airbnb?有人记得这样一篇文章吗?
2)文本是2,000,000+单词,所以我假设indexOf将在这个数据大小下崩溃。regex有可能撑得住吗?实现实际搜索的一些选项是什么?(库,算法等)有什么文章建议理解字符串搜索算法的权衡,如果我需要沿着这条路走下去?
好吧,我刚刚为您编写了一个快速基准测试,并惊讶地发现您可能可以使用String.indexOf()
。每次搜索大约35毫秒,也就是每秒30次搜索。
编辑:一个更好的基准。似乎有一些初始化延迟,但看起来indexOf
是相当快的。您可以使用基准测试,看看它是否适合您。
相关文章:
- 如何在文本搜索后返回long/lat
- 使用 CSS3 数据属性进行客户端文本搜索
- 谷歌地图API地理位置文本搜索地点详细信息
- 使用谷歌地图API和谷歌文本搜索进行地理定位
- 如何在 html 中实现自动文本搜索
- 放置 API 文本搜索与附近搜索
- 当前网页上的本地可见文本搜索
- Jquery文本搜索并对该文本执行某些操作
- jQuery:如何在文本搜索中只显示DOM的特定元素
- MongoDB在一个列表中检查多个regex匹配项以进行免费文本搜索
- 使用AND运算符进行Mongoose文本搜索
- 使用文本搜索并删除节点jquery
- jQuery移动文本/搜索更改事件的行为不同
- Angular自定义文本搜索过滤器顺序
- 实时文本搜索jquery,错误的选择器
- MongoDB文本搜索与周期
- 提高MongoDB的文本搜索性能
- 使用在文本框中输入的文本搜索复选框中的项
- 如何通过文本搜索返回JSON数组中项目的索引位置?
- 通过选项文本搜索选项索引