2010-08-08 6 views
6

Je configure mon solr pour deux cœurs et j'ai la plupart du temps fonctionné, mais je reçois cette erreur cryptique.NullPointerException dans solr multicore

Tout d'abord, voici mon 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> 

Tout cela semble bien. Je crois que je me suis fixé les autorisations appropriées pour tous les emplacements, mais je reçois cette erreur dans 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) 

Quelques [info] journaux, puis celui-ci:

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 Je ne suis pas un chat en solr, java ou tomcat (ou autre chose d'ailleurs, hehe). Toute aide sera grandement appréciée!

Répondre

4

Il me est arrivé que je copiais la solrconfig.xml précédente, de sorte que la référence de chemin de elevator.xml a eu tort.

Si vous avez commencé à partir de la recherche de modèle pour:

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

Et changer à:

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

En supposant que vous utilisez tous les répertoires par défaut.

+0

Merci - Je viens de rencontrer exactement le même problème et cela l'a corrigé :) – vitch