2013-06-13 44 views
0

我有一個web應用程序,它依賴於HTML5離線存儲功能,以便它可以在用戶沒有連接到互聯網進行訪問的文本。該應用程序本質上只是提供HTML頁面和一點點的CSS和JavaScript。搜索大量使用JavaScript和HTML5存儲

我嘗試添加到搜索對這些網頁的關鍵詞服務的文本的功能,但由於應用程序不能保證對服務器的訪問,它需要能夠在客戶端上執行這些搜索。

我的想法是,我可以存儲在瀏覽器中的Web SQL數據庫的可搜索文本,並執行搜索或者通過JavaScript或通過瀏覽器的SQL API。我有做到這一點的最好辦法了幾個問題:

1)我依稀記得有關如何實現這樣的事情,也許從製作的Airbnb的文章?有沒有人記得這樣的文章?

2)文字是2,000,000+話讓我假設的indexOf是要打破這個數據的大小。有沒有任何機會正則表達式會阻止?實施實際搜索有哪些選擇? (庫,算法等)如果我需要走這條路,那麼對於理解字符串搜索算法權衡的任何文章建議?

回答

1

嗯,我只是給你寫了a quick benchmark,很驚訝地發現你可能用String.indexOf()逃脫了。每次搜索約35ms,每秒搜索約30次。

編輯:a better benchmark。似乎有某種初始化延遲,但它看起來像indexOf是相當快的。你可以玩基準測試,看看它是否適合你。

相關問題