Skip to content

Instantly share code, notes, and snippets.

@emoen
Created August 25, 2015 13:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emoen/5d0a28df91c4c1127238 to your computer and use it in GitHub Desktop.
Save emoen/5d0a28df91c4c1127238 to your computer and use it in GitHub Desktop.
package no.nmdc.solr.request;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.core.NodeConfig;
import org.apache.solr.core.NodeConfig.NodeConfigBuilder;
import org.apache.solr.core.SolrResourceLoader;
import org.junit.Test;
public class TestSolrEmbeddedServer extends SolrTestCaseJ4 {
@Test
public void testNodeConfigConstructor() throws Exception {
Path path = createTempDir();
SolrResourceLoader loader = new SolrResourceLoader(path.toString());
NodeConfigBuilder nodeConfigBuilder = new NodeConfig.NodeConfigBuilder(
"testnode", loader);
String SolrProjectPath = "\\src\\test\\resources\\solr-5.2.1\\server\\solr";
String userDir = System.getProperty("user.dir") + SolrProjectPath;
String thepath = Paths.get(userDir).resolve("configsets").toString();
System.out.println("thepath:" + thepath);
nodeConfigBuilder.setConfigSetBaseDirectory(thepath);
NodeConfig config = nodeConfigBuilder.build();
try (EmbeddedSolrServer server = new EmbeddedSolrServer(config,"nmdc")) {
CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create();
createRequest.setCoreName("nmdc");
createRequest.setConfigSet("nmdc");
createRequest.setDataDir(userDir+"\\configsets\\nmdc\\data");
server.request(createRequest);
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("qt", "/dataimport2");
params.set("command", "full-import&clean=true");
QueryResponse response = null;
try {
response = server.query(params);
} catch (SolrServerException e1) {
e1.printStackTrace();
}
System.out.println(response);
System.out.println("QUERY1 "+server.query(new SolrQuery("*:*")).getResults().getNumFound());
System.out.println("QUERY2 "+server.query("nmdc", new SolrQuery("*:*")).getResults().getNumFound());
assertEquals(1, server.query(new SolrQuery("*:*")).getResults()
.getNumFound());
assertEquals(1, server.query("nmdc", new SolrQuery("*:*"))
.getResults().getNumFound());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment