1
votes

while indexing into solr, i am getting an error like this.

 HTTP Status 500 - lazy loading error
 org.apache.solr.common.SolrException: lazy loading error at
 org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.getWrappedHandler(RequestHandlers.java:260)
 at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:242)
 at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376) at
 org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365)
 at
 org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
 at
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
 at
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
 at

The URL formed is : http://localhost:8080/solr/update/extract?Latitude=51.9125&Longitude=179.5&commit=true&waitFlush=true&waitSearcher=true&wt=javabin&version=2

(I have configured tomcat using Xampp on Windows machine)

I have been following SOF and various other blogs/forums and tried to debug it but for hours i could not find anything.

I have added the following things in the solr.xml

<maxFieldLength>10000</maxFieldLength>
<writeLockTimeout>60000</writeLockTimeout>
<commitLockTimeout>60000</commitLockTimeout>

<lockType>simple</lockType>
<unlockOnStartup>true</unlockOnStartup>
<reopenReaders>true</reopenReaders>

<requestParsers enableRemoteStreaming="true" 
multipartUploadLimitInKB="2048000" />

<lst name="defaults">
<!--str name="echoParams">explicit</str-->
<!--int name="rows">10</int-->
<!--str name="df">text</str-->
<str name="Latitude">Latitude</str>
<str name="Longitude">Longitude</str>
</lst>

Even tried adding the following to solconfig.xml ands restarting tomcat i get

   <requestHandler name="/update/extract" class="org.apache.solr.handler.extraction.ExtractingRequestHandler"> 
     <lst name="defaults"> 
     <str name="ext.map.Last-Modified">last_modified</str> 
     <bool name="ext.ignore.und.fl">true</bool> 
     </lst> 
     </requestHandler> 

On the Java console it shows an error : org.apache.solr.common.SolrException: Internal Server Error

  1. I realized the issue might be because of my solr home path. I created a new directory and copied all the config files there and mentioned that as my solr path. However, I later update the solrconfig.xml, correcting paths for all the jars.

  2. Also tried adding the 'pdfbox and fontbox' jars in to solr lib folder and restarting Tomcat

My Java code is :

 String urlString = "http://localhost:8080/solr"; 
    SolrServer server = new CommonsHttpSolrServer(urlString);
    ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract");
    String fileName=f.toString();
    up.addFile(new File(fileName));
    up.setParam("Latitude", Latitude);
    up.setParam("Longitude", Longitude);
    up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
    server.request(up);

(Port8080 is the one i have configured)

Still solr indexing is not working at my end.. i have tried hours debugging this and figuring out. It would be really great if you can show me some hint or suggest anything i am doing wrong.

As for your ref i have already tried : http://wiki.apache.org/solr/FrontPage http://wiki.apache.org/solr/ContentStreamUpdateRequestExample http://wiki.apache.org/solr/UpdateRichDocuments http://wiki.apache.org/solr/ExtractingRequestHandler#Configuration http://lucene.472066.n3.nabble.com/Problem-using-ExtractingRequestHandler-with-tomcat-td494930.html http://lucene.472066.n3.nabble.com/Internal-Server-Error-td715713.html How to index pdf's content with SolrJ?

2

2 Answers

2
votes

Finally I find a way to solve this.

Just modify SOLR_HOME/conf/solrconfig.xml, change all the dir attribute of <tab> tag from "../../dist/" to "../dist/", save the file

If you encounter this problem, that the solr directory must be move from apache-solr-x.x.x\example to some other place, so the relative path "../../dist/" need to be changed accordingly.

Remember to restart your tomcat and see if it work.

1
votes

Do you have solr-cell.jar in your class path. ?

The ExtractingRequestHandler is in the solr-cell.jar, which is not packaged with the default solr-server