1

solr にインデックスを作成しているときに、このようなエラーが発生します。

 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

形成される URL は次のとおりです。http://localhost:8080/solr/update/extract?Latitude=51.9125&Longitude=179.5&commit=true&waitFlush=true&waitSearcher=true&wt=javabin&version=2

(Windows マシンで Xampp を使用して tomcat を構成しました)

SOF や他のさまざまなブログ/フォーラムをフォローしてデバッグを試みましたが、何時間も何も見つかりませんでした。

私は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>

以下をsolconfig.xmlに追加して、Tomcatを再起動しようとしても、

   <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> 

Java コンソールに次のエラーが表示されます: org.apache.solr.common.SolrException: Internal Server Error

  1. この問題は、solr ホーム パスが原因である可能性があることに気付きました。新しいディレクトリを作成し、そこにすべての構成ファイルをコピーして、それを solr パスとして指定しました。ただし、後で solrconfig.xml を更新し、すべての jar のパスを修正します。

  2. また、「pdfbox and fontbox」jar を solr lib フォルダーに追加して、Tomcat を再起動しようとしました

私のJavaコードは次のとおりです。

 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 は私が設定したものです)

それでもsolrインデックス作成は私の最後では機能しません..私はこれをデバッグして理解しようと何時間も試みました。ヒントを示したり、私が間違っていることを提案したりできれば、本当に素晴らしいことです。

あなたの参照については、私はすでに試しました: 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 SolrJ で pdf のコンテンツにインデックスを付ける方法は?

4

2 に答える 2

2

最後に、これを解決する方法を見つけます。

変更するだけで、タグSOLR_HOME/conf/solrconfig.xmlのすべての dir 属性をからに変更し、ファイルを保存します<tab>"../../dist/""../dist/"

この問題が発生した場合は、solrディレクトリapache-solr-x.x.x\exampleを別の場所に移動する必要があるため、それに応じて相対パス"../../dist/"を変更する必要があります。

Tomcat を再起動して、動作するかどうかを確認してください。

于 2012-09-04T02:00:41.597 に答える
1

クラスパスに solr-cell.jar がありますか。?

ExtractingRequestHandler は solr-cell.jar にあり、デフォルトの solr-server にはパッケージ化されていません

于 2012-04-21T00:25:02.767 に答える