0

インターネット接続なしでユーザーがアクセスできるように、html5 オフライン ストレージ機能に依存する Web アプリがあります。このアプリは基本的に、html ページと、少しの css と javascript を提供するだけです。

これらのページで提供されるテキストのキーワードを検索する機能を追加しようとしていますが、アプリはサーバーへのアクセスが保証されていないため、クライアント側でこれらの検索を実行できる必要があります。

私の考えでは、検索可能なテキストをブラウザーの Web SQL データベースに保存し、JavaScript またはブラウザーの SQL API を介して検索を実行できます。これを行う最善の方法についていくつか質問があります。

1) このようなものを実装する方法についての記事を漠然と覚えています。おそらく airbnb からのものでしょうか? そのような記事を覚えている人はいますか?

2) テキストは 2,000,000 以上の単語なので、このデータ サイズでは indexOf が壊れると思います。正規表現が持ちこたえる可能性はありますか? 実際の検索を実装するためのいくつかのオプションは何ですか? (ライブラリ、アルゴリズムなど) その道をたどる必要がある場合、文字列検索アルゴリズムのトレードオフを理解するための記事の提案はありますか?

4

1 に答える 1

1

さて、私はあなたのために簡単なベンチマークを書きましたが、おそらくString.indexOf(). 1 回の検索で約 35 ミリ秒、つまり 1 秒あたり約 30 回の検索が行われます。

編集: より良いベンチマーク。ある種の初期化遅延があるように見えますが、indexOfかなり高速のようです。ベンチマークを試してみて、それがうまくいくように見えるかどうかを確認してください。

于 2013-06-13T04:33:52.430 に答える