0

ファイルにインデックスを付けるsolrjを使用した簡単なプログラムを作成しましたが、1分が経過するとクラッシュし、 java.lang.OutOfmemoryError : Java heap space が表示されます

私は Eclipse を使用しており、メモリ ストレージは約 2GB です。Tomcat の VM arg とデバッグ構成のアプリケーションの両方に -Xms1024M-Xmx2048M を設定し、solrconfig の maxBufferedDocs のコメントを外して 100 に設定し、アプリケーションを再度実行しましたが、クラッシュしました。 500MBを超えるファイルに達したらすぐに

solrj で大きなファイルにインデックスを付けるための構成はありますか? 私のsolrjの詳細は以下の通りです:

String urlString = "http://localhost:8983/solr/file"; 
CommonsHttpSolrServer solr = new CommonsHttpSolrServer(urlString); 

ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract"); 

req.addFile(file); 
req.setParam("literal.id", file.getAbsolutePath()); 
req.setParam("literal.name", file.getName()); 
req.setAction(ACTION.COMMIT, true, true); 

solr.request(req); 
4

2 に答える 2

1

EclipseでJavaクラスを実行するときにヒープサイズパラメータも設定していますか?

Run -> Run Configurations > <Class Name> > Arguments -> VM arguments
于 2011-09-30T13:02:37.540 に答える
0

Solr も solrj と同じマシンで実行されていますか? Solr を実行しているマシンにメモリの制約がある可能性があります。Solr を起動すると、どのくらいの空きメモリがありますか? - おそらく、そのボックスで利用可能なメモリを増やす必要があります。

すべてのドキュメントの後にコミットを入れて、問題を一時的に回避できるかどうかを確認してください。

于 2011-09-30T18:00:55.587 に答える