Ryan's commit reminded me of DirectSolrConnection - this looks like an
even easier thing to plug into solr-(j)ruby than EmbeddedSolrServer.
I'll take a stab at that soon. We still should support SolrServer and
what it offers, but DirectSolrConnection will make things more easily
transparent at first.
Erik
Begin forwarded message:
From: [EMAIL PROTECTED]
Date: October 8, 2008 5:23:21 PM EDT
To: [EMAIL PROTECTED]
Subject: svn commit: r702993 - /lucene/solr/trunk/src/webapp/src/org/
apache/solr/servlet/DirectSolrConnection.java
Reply-To: [EMAIL PROTECTED]
Author: ryan
Date: Wed Oct 8 14:23:21 2008
New Revision: 702993
URL: http://svn.apache.org/viewvc?rev=702993&view=rev
Log:
SOLR-721 -- DirectSolrConnection now uses CoreContainers
Modified:
lucene/solr/trunk/src/webapp/src/org/apache/solr/servlet/
DirectSolrConnection.java
Modified: lucene/solr/trunk/src/webapp/src/org/apache/solr/servlet/
DirectSolrConnection.java
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/src/webapp/src/org/apache/solr/servlet/DirectSolrConnection.java?rev=702993&r1=702992&r2=702993&view=diff
=
=
=
=
=
=
=
=
======================================================================
--- lucene/solr/trunk/src/webapp/src/org/apache/solr/servlet/
DirectSolrConnection.java (original)
+++ lucene/solr/trunk/src/webapp/src/org/apache/solr/servlet/
DirectSolrConnection.java Wed Oct 8 14:23:21 2008
@@ -29,8 +29,11 @@
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.ContentStreamBase;
+import org.apache.solr.core.CoreContainer;
+import org.apache.solr.core.CoreDescriptor;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.request.QueryResponseWriter;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrQueryResponse;
@@ -101,16 +104,19 @@
}
}
- // Initialize SolrConfig
- SolrConfig config = null;
+ if( instanceDir == null ) {
+ instanceDir = SolrResourceLoader.locateInstanceDir();
+ }
+
+ // Initialize
try {
- config = new SolrConfig(instanceDir,
SolrConfig.DEFAULT_CONF_FILE, null);
- instanceDir = config.getResourceLoader().getInstanceDir();
-
- // If the Data directory is specified, initialize SolrCore
directly
- IndexSchema schema = new IndexSchema(config, instanceDir+"/
conf/schema.xml", null);
- core = new SolrCore( null, dataDir, config, schema, null );
- parser = new SolrRequestParsers( config );
+ CoreContainer cores = new CoreContainer(new
SolrResourceLoader(instanceDir));
+ SolrConfig solrConfig = new SolrConfig(instanceDir,
SolrConfig.DEFAULT_CONF_FILE, null);
+ CoreDescriptor dcore = new CoreDescriptor(cores, "",
solrConfig.getResourceLoader().getInstanceDir());
+ IndexSchema indexSchema = new IndexSchema(solrConfig,
instanceDir+"/conf/schema.xml", null);
+ core = new SolrCore( null, dataDir, solrConfig, indexSchema,
dcore);
+ cores.register("", core, false);
+ parser = new SolrRequestParsers( solrConfig );
}
catch (Exception ee) {
throw new RuntimeException(ee);