24

CDROMなどのオフラインストレージにオフラインhtmlアプリケーションのクライアント側検索エンジンを作成する必要があります。私はすでにWin32で作成しており、カタログファイルは2GB(MDBファイル)に近いです。

私のオフラインWebアプリケーションはCEF(Chromium Embedded Framework)とPhoneGAPを使用しているため、ブラウザーのWebセキュリティを無効にできます。IndexedDBが役立つと思いましたが、ストレージファイルを他のメディアにコピーする方法が見つかりませんでした。

  1. カタログファイルは2GB近くになるので、すべてのレコードをメモリに読み取ることができません。
  2. 出力メディアをPhoneGAPとクロスプラットフォーム化する必要があるため、最終検索にActiveXオブジェクトを使用できません。また、そのツールでWebセキュリティ制限を無効にすることもできます。
  3. 任意のWindowsアプリケーションでカタログファイルとメディアを作成できます。カタログをクエリする出力ファイルは純粋なJavaScriptである必要があることに注意してください。

他のリムーバブルメディアにコピーできるオフラインHTMLアプリケーション検索カタログを作成するために利用できるHTML5ビッグストレージシステム(PhoneGAPでWebセキュリティを無効にできます)はありますか?

4

3 に答える 3

8

Reyes は、まさにこの目的のために全文検索エンジンを実行しています: https://github.com/reyesr/fullproof

昨年 9 月の Paris JS で、彼は背後にあるコンセプトのプレゼンテーションを行いました: http://kornr.net/prez/paris.js22/#/

それがあなたのニーズに答えることを願っています。

于 2012-11-09T13:24:26.463 に答える
6

その間、 lunr.jsを考慮する必要があると思います。Github で 3 倍の星を獲得しています。

于 2014-01-14T10:17:12.887 に答える
1

データベース全体を.jsonファイルに保存することは間違いなく効率的ではありませんが、データベースをチャンクに分割し、それらをオンデマンドでロードされる.jsonファイルとして保存することはうまくいくかもしれません-ただし、テストが必要です.

また、MongoDB はデータベースをBSONに格納します。データベースをこのファイル形式で保存し、それをアプリケーションからロードすることも考えられます (とにかく、データベース全体を小さな部分に分割することをお勧めします)。

// 編集 - データベースをファイルとして譲渡する場合、どのような種類の権限も設定できないと思います。ファイルの暗号化/難読化を試みることはできますが、それがパフォーマンスやデータベースの内容にどのように影響するかはわかりません。

はい、サーバーなしで BSON データベースを読み取るスタンドアロンの html+js アプリケーションを作成することは可能です。詳細を知りたい場合は、このリンクを確認してください。以前にも聞いたことがありますが、純粋な JS で BSON ファイルを処理することに関してはまったく経験がないため、これについてはお手伝いできません。私にできることは、そのようなものが存在することをあなたに知らせることだけでした:)

于 2012-08-23T07:17:57.017 に答える