2010-08-08 10 views
6

Ich konfiguriere meine Solr für zwei Kerne und habe das meiste davon funktioniert, aber ich bekomme diesen kryptischen Fehler.NullPointerException in Solr Multicore

First off, hier ist mein solr.xml:

<?xml version='1.0' encoding='UTF-8'?> 
<solr persistent="true"> 
<cores adminPath="/admin/cores"> 
    <core name="cars" dataDir="/var/lib/solr/data/cars" config="/etc/solr/home_cars/conf/solrconfig.xml" schema="/etc/solr/home_cars/conf/schema.xml" instanceDir="home_cars" /> 
    <core name="industrial" dataDir="/var/lib/solr/data/industrial" config="/etc/solr/home_industrial/conf/solrconfig.xml" schema="/etc/solr/home_industrial/conf/schema.xml" instanceDir="home_industrial" /> 
</cores> 
</solr> 

All dies scheint in Ordnung. Ich glaube, ich habe die richtigen Berechtigungen für alle Standorte festgelegt, aber ich habe immer noch diesen Fehler in catalina.out:

INFO: user.dir=/var/lib/tomcat6 
Aug 8, 2010 2:03:27 PM org.apache.solr.common.SolrException log 
SEVERE: java.lang.NullPointerException 
     at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173) 
     at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) 
     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1317) 
     at org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:52) 
     at org.apache.solr.core.SolrCore$3.call(SolrCore.java:1147) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
     at java.lang.Thread.run(Thread.java:636) 

Einige [info] Protokolle und dann diese:

SEVERE: java.lang.NullPointerException 
     at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173) 
     at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) 
     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1317) 
     at org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:52) 
     at org.apache.solr.core.SolrCore$3.call(SolrCore.java:1147) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
     at java.lang.Thread.run(Thread.java:636) 

I Ich bin keine Top-Katze in Solr, Java oder Kater (oder sonst was, hehe). Jede Hilfe wird sehr geschätzt!

Antwort

5

Es scheint, als ob dies geschieht, weil die Konfiguration von QueryElevationComponent nicht existiert. Versuchen Sie folgendes:

http://wiki.apache.org/solr/QueryElevationComponent

+0

Sie sind richtig und fantastisch! Ein paar offensichtliche Fehlermeldungen später und alles funktioniert gut. Danke, Aillyn! – Jorn

4

es mir passiert, dass ich die vorherigen solrconfig.xml kopiert, so dass der elevator.xml Pfadreferenz falsch war.

Wenn Sie aus der Vorlage Suche begann für:

<searchComponent name="elevator" class="solr.QueryElevationComponent" > 
<!-- pick a fieldType to analyze queries --> 
<str name="queryFieldType">string</str> 
<str name="config-file">elevate.xml</str> 
</searchComponent> 

Und es ändern:

<searchComponent name="elevator" class="solr.QueryElevationComponent" > 
<!-- pick a fieldType to analyze queries --> 
<str name="queryFieldType">string</str> 
<str name="config-file">../../conf/elevate.xml</str> 
</searchComponent> 

Sie verwenden alle Standardverzeichnisse Unter der Annahme.

+0

Danke - Ich bin gerade in genau das gleiche Problem gelaufen und das hat es behoben :) – vitch