исключение из памяти при индексировании файлов с помощью solrj - PullRequest
0 голосов
/ 30 сентября 2011

Я пишу простую программу с solrj, которая индексирует файлы, но через минуту она упала, и java.lang.OutOfmemoryError: появляется пространство кучи java

Я использую Eclipse, и объем моей памяти составляет около 2 ГБ, и яустановите -Xms1024M-Xmx2048M для моей виртуальной машины аргумента tomcat и моего приложения в конфигурации отладки и раскомментируйте maxBufferedDocs в solrconfig и установите его равным 100, а затем снова запустите приложение, но вскоре произойдет сбой, когда он достигнет файлов размером более 500 МБ

есть ли конфигурация для индексации больших файлов с помощью 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); 

Ответы [ 2 ]

1 голос
/ 30 сентября 2011

Вы также устанавливаете параметры размера кучи при запуске java-класса в eclipse?

Run -> Run Configurations > <Class Name> > Arguments -> VM arguments
0 голосов
/ 30 сентября 2011

Solr также работает на той же машине, что и solrj?На компьютере, на котором вы запускаете Solr, могут быть ограничения памяти.Сколько свободной памяти у вас есть, когда вы запускаете Solr?- вам, вероятно, понадобится больше памяти для этого блока.

Попробуйте поместить коммит после каждого документа и посмотрите, сможете ли вы временно обойти проблему.

...