That certainly looks like it ought to work. Is there log output that you could show us as well?
Alan Woodward www.flax.co.uk On 21 Jan 2015, at 16:09, Carl Roberts wrote: > Hi, > > I have downloaded the code and documentation for Solr version 4.10.3. > > I am trying to follow SolrJ Wiki guide and I am running into errors. The > latest error is this one: > > Exception in thread "main" org.apache.solr.common.SolrException: No such > core: db > at > org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:112) > at > org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:124) > at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:68) > at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:54) > at solr.Test.main(Test.java:39) > > My code is this: > > package solr; > > import java.io.File; > import java.io.IOException; > import java.util.ArrayList; > import java.util.Collection; > > import org.apache.solr.client.solrj.SolrServerException; > import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; > import org.apache.solr.common.SolrInputDocument; > import org.apache.solr.core.CoreContainer; > import org.apache.solr.core.SolrCore; > > > public class Test { > public static void main(String [] args){ > CoreContainer container = new > CoreContainer("/Users/carlroberts/dev/solr-4.10.3"); > System.out.println(container.getDefaultCoreName()); > System.out.println(container.getSolrHome()); > container.load(); > System.out.println(container.isLoaded("db")); > System.out.println(container.getCoreInitFailures()); > Collection<SolrCore> cores = container.getCores(); > System.out.println(cores); > EmbeddedSolrServer server = new EmbeddedSolrServer( container, "db" ); > SolrInputDocument doc1 = new SolrInputDocument(); > doc1.addField( "id", "id1", 1.0f ); > doc1.addField( "name", "doc1", 1.0f ); > doc1.addField( "price", 10 ); > SolrInputDocument doc2 = new SolrInputDocument(); > doc2.addField( "id", "id2", 1.0f ); > doc2.addField( "name", "doc2", 1.0f ); > doc2.addField( "price", 20 ); > Collection<SolrInputDocument> docs = new > ArrayList<SolrInputDocument>(); > docs.add( doc1 ); > docs.add( doc2 ); > try{ > server.add( docs ); > server.commit(); > server.deleteByQuery( "*:*" ); > }catch(IOException e){ > e.printStackTrace(); > }catch(SolrServerException e){ > e.printStackTrace(); > } > } > } > > > My solr.xml file is this: > > <?xml version="1.0" encoding="UTF-8" ?> > <!-- > Licensed to the Apache Software Foundation (ASF) under one or more > contributor license agreements. See the NOTICE file distributed with > this work for additional information regarding copyright ownership. > The ASF licenses this file to You under the Apache License, Version 2.0 > (the "License"); you may not use this file except in compliance with > the License. You may obtain a copy of the License at > > http://www.apache.org/licenses/LICENSE-2.0 > > Unless required by applicable law or agreed to in writing, software > distributed under the License is distributed on an "AS IS" BASIS, > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > See the License for the specific language governing permissions and > limitations under the License. > --> > > <!-- > This is an example of a simple "solr.xml" file for configuring one or > more Solr Cores, as well as allowing Cores to be added, removed, and > reloaded via HTTP requests. > > More information about options available in this configuration file, > and Solr Core administration can be found online: > http://wiki.apache.org/solr/CoreAdmin > --> > > <solr> > <cores adminPath="/admin/cores" defaultCoreName="db"> > <core default="true" instanceDir="db/" name="db"/> > </cores> > </solr> > > And my db/conf directory was copied from example/solr/collection/conf > directory and it contains the solrconfig.xml file and schema.xml file. > > I have noticed that the documentation that shows how to use the > EmbeddedSolarServer is outdated as it indicates I should use > CoreContainer.Initializer class which doesn't exist, and container.load(path, > file) which also doesn't exist. > > At this point I have no idea why I am getting the No such core error and I > have googled it and there seems to be tons of threads showing this error but > for different reasons, and I have tried all the suggested resolutions and get > nowhere with this. > > Can you please help? > > Regards, > > Joe