J'ai des difficultés à faire fonctionner un EmbeddedSolrServer
. Le JavaDoc pour CoreContainer
est pour le moins clairsemé. J'ai regardé le "MergeIndexesEmbeddedTest" et mon code semble que cela devrait fonctionner. (Ceci est un projet Maven) J'ai à la fois "Schema.xml" et "solr.xml" dans la racine du dossier src/main/resources
. Je peux pouvoir instancier serveur ther, mais lorsque je tente d'ajouter un SolrInputDocument
au serveur j'obtenir:comment configurer une instance 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)
Mon code qui met en place le serveur est:
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");
et mon dossier solr.xml
est:
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
<cores adminPath="/admin/cores" defaultCoreName="butterfly1">
<core name="butterfly" instanceDir="." />
</cores>
</solr>
Je n'ai pas posté mon dossier Schema.xml
car il est juste une version élaguée de l'exemple un avec différents noms de champs. J'utilise le chemin des fichiers absolus juste parce qu'il m'a semblé plus facile de commencer.
Le dossier principal existe-t-il? Y a-t-il des messages dans le journal avant celui que vous avez montré? –