0

実験的な検索APIの制限により、全文検索のニーズにApacheLuceneを使用することにしました。LuceneのAppEngineポートを確認しましたが、ニーズに適合していません(RAMIndexを使用するポートはインデックスのサイズをサポートせず、データストアを使用するポートはパフォーマンス的に遅すぎる)ので、Luceneを使用してテストしました。ローカルファイルシステムとそれが私のために完全に動作することがわかりました。

今私の問題は、AppEngineで動作させる方法です。ファイルシステムへの書き込みは許可されていませんが、彼のインデックスは私の開発マシンで作成され、サーバーでは読み取り専用であるため、問題ありません(定期的にインデックスを更新し、新しいインデックスをプッシュする必要があります)。ファイルシステムからの読み取りが許可されているので、自分のインデックスを他の静的ファイルと一緒にバンドルしてアクセスできると考えました。

私が直面した問題は、AppEngineの静的ファイルクォータ(ページ下部のhttps://developers.google.com/appengine/docs/java/runtime )です。私のインデックスは約750MBしかないので、「合計ファイル数<1GB」の面では問題ありませんが、一部のインデックスファイルは数百MBであるため、ファイルあたり最大32 MBであるため、AppEngineでは許可されません。

AppEngineで32MBを超える静的ファイルをデプロイして読み取る方法はありますか?または、Luceneインデックスを読み取るためだけに、他のサーバー(Amazonなど)をセットアップする必要がありますか?

4

1 に答える 1

1

750MBのファイルでは、BlobStoreまたはGoogleCloudStorageを使用する必要があります。

Luceneで静的ファイルにアクセスするためのコードを変更できる場合は、BlobStoreまたはCloudStorageへのリクエストを使用してファイルを読み取ることができます。ただし、静的ファイルが唯一のオプションである場合は、インデックスを32MBに分割する必要があります。

Luceneファイルアクセスのコードを変更する場合、読み取り要求ごとに32MBの制限があります。したがって、ファイルは分割して読み取る必要があります。

于 2013-02-26T19:13:37.780 に答える