2011-06-02 21 views
5

Tengo problemas para ejecutar EmbeddedSolrServer. El JavaDoc para CoreContainer es escaso, por decir lo menos. Miré "MergeIndexesEmbeddedTest" y mi código parece que debería funcionar. (Este es un proyecto de Maven) Tengo tanto "Schema.xml" como "solr.xml" en la raíz de la carpeta src/main/resources. Puedo poder crear instancias de servidor de allí, pero cuando intento añadir un SolrInputDocument al servidor me sale:cómo configurar una instancia de EmbeddedSolrServer?

org.apache.solr.common.SolrException: 'No such core: butterfly' 
at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:104) 
at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105) 
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:64) 

Mi código que configura el servidor es:

final File solrConfigXml = new File("C:/code/butterfly/src/main/resources/solr.xml"); 
final String solrHome = "C:/code/butterfly/src/main/resources/"; 
CoreContainer coreContainer; 
try{ 
    coreContainer = new CoreContainer(solrHome, solrConfigXml); 
}catch(Exception e){ 
    e.printStackTrace(System.err); 
    throw new RuntimeException(e); 
} 
solrServer = new EmbeddedSolrServer(coreContainer, "butterfly"); 

y mi archivo solr.xml es:

<?xml version="1.0" encoding="UTF-8" ?> 
<solr persistent="false"> 
    <cores adminPath="/admin/cores" defaultCoreName="butterfly1"> 
      <core name="butterfly" instanceDir="." /> 
    </cores> 
</solr> 

que no he publicado mi archivo Schema.xml, ya que es sólo una versión podada del ejemplo uno con diferentes nombres de campo. Estoy usando una ruta de archivos absoluta solo porque me pareció más fácil comenzar.

+0

¿Existe la carpeta del núcleo? ¿Hay algún mensaje en el registro antes del que has mostrado? –

Respuesta

1

En su fragmento de solr.xml, el DefaultCoreName es butterfly1. No hay un núcleo con name = butterfly1 en su esquema.

¿Qué versión de solr server estás utilizando?

Cuestiones relacionadas