2011-06-02 24 views
5

Çalıştırmak için bir EmbeddedSolrServer almakta sorun yaşıyorum. CoreContainer için JavaDoc en az söylemek için seyrek. "MergeIndexesEmbeddedTest" e baktım ve kodum çalışması gerektiği gibi görünüyor. (Bu bir Maven projesidir) src/main/resources klasörünün kökünde hem "Schema.xml" hem de "solr.xml" var. Ben mümkün Ther sunucusunu başlatmak için, ama ben sunucuya bir SolrInputDocument eklemeye çalıştığınızda alıyorum:EmbeddedSolrServer örneği nasıl kurulur?

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) 
sunucusunu kurar

Benim kodudur:

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"); 

ve benim solr.xml dosya şudur: farklı alan adları ile örnek bir sadece bir budanmış versiyonu beri benim Schema.xml dosyası yayınlanmıştır değil

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

. Sadece başlamak için daha kolay görünüyordu çünkü mutlak dosya yolunu kullanıyorum.

+0

Çekirdek klasör var mı? Günlüğünde, gösterdiğinizden önce herhangi bir mesaj var mı? –

cevap

1

Solr.xml snippet'inizde, defaultCoreName kelebek1'dir. Şemanızda name = butterfly1 olan çekirdek yok.

Hangi sürümde solr sunucusunu kullanıyorsunuz?