2010-08-08 17 views
6

Estoy configurando mi solr para dos núcleos y tengo la mayor parte trabajando, pero estoy obteniendo este error críptico.NullPointerException en solr multicore

En primer lugar, aquí está mi 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> 

Todo esto parece muy bien. Creo que he establecido los permisos adecuados para todos los lugares, pero aún así me sale este error en 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) 

Algunos [info] registros y luego éste:

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 No soy un gato superior en Solr, Java o Tomcat (o mucho más por el hecho, jeje). ¡Cualquier ayuda será muy apreciada!

Respuesta

4

Ocurrió a mí que he copiado el solrconfig.xml anterior, por lo que la referencia de la trayectoria elevator.xml estaba mal.

Si ha iniciado la búsqueda de la plantilla para:

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

y cambiarlo a:

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

Suponiendo que está usando todos los directorios por defecto.

+0

Gracias - Acabo de encontrar exactamente el mismo problema y eso lo solucionó :) – vitch

Cuestiones relacionadas