I suspect this has something to do with the dataDir setting in the example 's solrconfig.xml
<dataDir>${solr.data.dir:./solr/data}</dataDir> we use the example's solrconfig.xml as the base for our deployments and always comment this out the default of having conf and data sitting under the solr home works well ----- Original Message ----- From: dcdmailbox-i...@yahoo.it To: solr-user@lucene.apache.org Sent: Friday, 12 February, 2010 8:30:57 AM Subject: EmbeddedSolrServer vs CommonsHttpSolrServer Hi all, I am new to solr/solrj. I correctly started up the server example given in the distribution (apache-solr-1.4.0\example\solr), populated the index with test data set, and successfully tested with http query string via browser (es. http://localhost:8983/solr/select/?indent=on&q=video&fl=name,id) I am trying to set up solrj clients using both CommonsHttpSolrServer and EmbeddedSolrServer. My examples are with single core configuration. Here below the method used for CommonsHttpSolrServer initialization: [code.1] public SolrServer getCommonsHttpSolrServer() throws IOException, ParserConfigurationException, SAXException, SolrServerException { String url = "http://localhost:8983/solr"; CommonsHttpSolrServer server = new CommonsHttpSolrServer(url); server.setSoTimeout(1000); // socket read timeout server.setConnectionTimeout(100); server.setDefaultMaxConnectionsPerHost(100); server.setMaxTotalConnections(100); server.setFollowRedirects(false); // defaults to false // allowCompression defaults to false. // Server side must support gzip or deflate for this to have any effect. server.setAllowCompression(true); server.setMaxRetries(1); // defaults to 0. > 1 not recommended. return server; } Here below the method used for EmbeddedSolrServer initialization (provided in the wiki section): [code.2] public SolrServer getEmbeddedSolrServer() throws IOException, ParserConfigurationException, SAXException, SolrServerException { System.setProperty("solr.solr.home", "/WORKSPACE/bin/apache-solr-1.4.0/example/solr"); CoreContainer.Initializer initializer = new CoreContainer.Initializer(); CoreContainer coreContainer = initializer.initialize(); EmbeddedSolrServer server = new EmbeddedSolrServer(coreContainer, ""); return server; } Here below the common code used to query the server: [code.3] SolrServer server = mintIdxMain.getEmbeddedSolrServer(); //SolrServer server = mintIdxMain.getCommonsHttpSolrServer(); SolrQuery query = new SolrQuery("video"); QueryResponse rsp = server.query(query); SolrDocumentList docs = rsp.getResults(); System.out.println("Found : " + docs.getNumFound()); System.out.println("Start : " + docs.getStart()); System.out.println("Max Score: " + docs.getMaxScore()); CommonsHttpSolrServer gives correct results whereas EmbeddedSolrServer gives always no results. What's wrong with the initialization and/or the configuration of the EmbeddedSolrServer? CoreContainer.Initializer() seems to not recognize the single core from solrconfig.xml... If I modify [code.2] with the following code, it seems to work. I manually added only explicit Core Container registration. Is [code.4] the correct way? [code.4] public SolrServer getEmbeddedSolrServer() throws IOException, ParserConfigurationException, SAXException, SolrServerException { System.setProperty("solr.solr.home", "/WORKSPACE/bin/apache-solr-1.4.0/example/solr"); CoreContainer.Initializer initializer = new CoreContainer.Initializer(); CoreContainer coreContainer = initializer.initialize(); /* >>>>> */ SolrConfig solrConfig = new SolrConfig("/WORKSPACE/bin/apache-solr-1.4.0/example/solr", "solrconfig.xml", null); IndexSchema indexSchema = new IndexSchema(solrConfig, "schema.xml", null); CoreDescriptor coreDescriptor = new CoreDescriptor(coreContainer, "", solrConfig.getResourceLoader().getInstanceDir()); SolrCore core = new SolrCore(null, "/WORKSPACE/bin/apache-solr-1.4.0/example/solr/data", solrConfig, indexSchema, coreDescriptor); coreContainer.register("", core, false); /* <<<<< */ EmbeddedSolrServer server = new EmbeddedSolrServer(coreContainer, ""); return server; } Many thanks in advance for the support and the great work realized with all the lucene/solr projects. Dino. --